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;
}

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("...

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)...

C语言 编写一个程序,输入一个正整数,求出它是几位数。
1、首先在打开的C语言软件窗口中,在Main函数的上方,写上阶乘函数的框架,如下图所示。2、然后定义一个变量【result】,如下图所示。3、然后输入if判断语句,就可以写下程序的关键语句,如下图所示。4、接下来就可以调用输出,如下图所示。5、最后点击运行,如下图所示,就可以运行测试。

c语言作业:输入一个正整数求出它是几位数;输出原数和位数,对每一位进行...
int weishu(long n,int a[]){int i=0;while(n){ a[i++]=n%10;n\/=10;} return i;} void main (void){ long n;int k,i,j,t,a[20];scanf("%ld",&n);printf("原数:%ld\\n",n);k=weishu(n,a);printf("位数:%d\\n",k);for(i=0;i<k-1;i++)for(j=0;j<k-1-...

C语言: 输入一个正整数,求出它是几位数;输出原数和位数
include <stdio.h> include <stdlib.h> int main(){int i=1;long int num,num1;scanf("%ld",&num);num1=num;while(num\/10){ i++;num=num\/10;} printf("number:%ld, width: %d\\n",num1,i);system("pause");return 0;} ...

c语言 , 用循环语句编写一个程序,输入一个正整数,并输出个位,十位,百 ...
include<stdio.h>int main(){int x; scanf("%d",&x); for(;x;x\/=10) printf("%d ",x%10); return 0;}

...输入一个不多于九位的正整数,要求输出它是几位数
1、输入一个正整数 2、将整数转换为字符串(使用sprintf函数)3、求字符串的长度(strlen函数),即正整数的位数 代码如下:include <stdio.h>#include <string.h>int main(){long num;char str[20];scanf("%ld", &num);sprintf(str, "%ld", num);printf("%d", strlen(str));return 0;}...

c语言编程:给一个不多于五位的正整数,用if-else语句求出它是几位数
{ int num; printf("请输入一个不大于5位数的正整数:");scanf("%d",&num);if(num>99999||num<1)printf("您的输入有误!\\n");else { if(num<10)printf("您输入的是1位数!\\n");else if(num<100)printf("您输入的是2位数!\\n");else if(num<1000)printf("您输入的是3位数!\\...

c语言编写程序,输入一个不多于3位的正整数,要求,求出它有几位数,并逆 ...
"input data must:0~999\\n");a[0] = (num\/100)%10;\/\/百位a[1] = (num\/10)%10; \/\/十位a[2] = num%10; \/\/个位 if(a[0]>0) cnt=3; else if(a[1]>0) cnt=2; else cnt=1; printf("cnt=%d,data:",cnt)...

...给一个不多于4位的正整数,求出它是几位数,并正序和逆序打印出各位数...
int main(){ int i=0; \/\/输入的数字 int n=0; \/\/几位数 int a[50]; \/\/存放每位的数字 printf("输入一个整数:");scanf("%d",&i);while(i!=0){ a[n]=i%10;i\/=10;n++;} printf("是%d位数\\n",n);for(int j=0;j<n;j++) \/\/逆序输出 printf("%d",a[j]);prin...

相似回答