C语言 编写一个程序,输入一个正整数,求出它是几位数。

希望各位能给出详细步骤

思路:求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。

参考代码:

#include <stdio.h>
int main()

int n,num=0;
scanf("%d",&n);
while(n){
num++;
n/=10;
}
printf("%d\n",num);
    return 0;
}
/*
输出:
123456
6
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-03
main()
{int a;
int i,N;
scanf("%d",&a);
for(i=0;a;i++)
a=a/10;
N=i;
printf("N=%d\n",N);
}本回答被提问者采纳
第2个回答  2008-07-03
void main(){
int n,i=0;
scanf("%d",&n);
while (n!=0){
n/=10;
i++;
}
printf("the number of digits is %d\n",i);
}
第3个回答  2018-04-16
如果是120005呢,中间有零呢
第4个回答  2018-03-13
#include<stdio.h>
main(void)
{int n,i=1;
scanf("%d",&n);
while(n/10>0)
{i=i+1;
n=n/10;
}
printf("n是%d位数\n",i);
return 0;
}
相似回答