给你写了个,运行通过,你看看吧,记得采纳哦O(∩_∩)O~
#include
int main(){
int num,i=0;
printf("please input a numble:");
while(1){
scanf("%d",&num);
if(num<0){
printf("this numble is below to 0,please input again:");
continue;
}
while(num>0){
num/=10;
i++;
}
break;
}
printf("It's width is %d",i);
}
两个思路:
第一个是用int接收,然后依次进行模10运算,看能进行几次。一开始先判断是否大于0。
另一个是用char*接收,然后对每一位进行判断是否是数字,最后判断有无符号位。
int a,i=1;
do{
scanf("%d",&a);
}while(a<0);
while(a)
{
a/=10;
i++;
}