{intn=0,n1,i;scanf("%d",&n);for(n1=n,i=0;n;i++)n/=10;printf("%d是一个%d位数\n",n1,i);return0;}
思路:因为c语言中整数除以整数等于整数,所以一个数除以10就少一位,所以求一个数的位数可以依次除10操作,直到其位0,每除10该数的位数加1。参考代码:include<stdio.h>intmain(){intn,sum=0;scanf("%d",&n...
C语言中判断一个数的位数:include<stdio.h>voidmain(){voidnum(inta);longa;scanf("%ld",&a);num(a);}voidnum(inta){longb=0;inti;for(i=0;a>0;a/=10,i++){b=(b*10)+a%10;}...
第一步,str(x),将正整数x转换成字符型的变量。例如,假设x=1234,1234就变成了"1234"第二步,len(上一步的结果),求得字符串的长度,这恰好是正整数的位数,例如,"1234"的长度为4第三步,?上一步的结果,将...
判断一个输入得数子是几位数的源代码如下:include<stdio.h>voidmain(){voidcount();printf("请输入一串字符,数字、字母皆可:\n");count();}voidcount(){charc[32];intn=0;while((c[n]=getchar(...
不知道你用什么程序,不过一般流程可以这样做:设输入的数是xif向下取整(x/100)>0输出“x是三位数”;elseif向下取整(x/10)>0输出“x是两位数”;else输出“x是一位数”。
include<stdio.h>#include<stdlib.h>#include<string.h>intmain(){chara[10000];//定义一个字符型数组,最多可以容纳10000位,可修改memset(a,'\0',10000*sizeof(char));//对数组初始化intn;scanf("%d",...
longintx;inti=0;printf("input:");scanf("%ld",&x);do{x=x/10;i++;}while(x>0);printf("thenubmeris:%d\n",i);}这样就正确了,你自己运行下^_^注:除法运算符“/”:双目运算具有左结合...
a=x/10000;b=(x-10000*a)/1000;c=(x-10000*a-1000*b)/100;d=(x-10000*a-1000*b-100*c)/10;e=x-10000*a-1000*b-100*c-10*d;scanf("%ld",&x);//这句话,你是先处理好a,b,c,d,e再输入x...
usingnamespacestd;intmain(){intnum;//输入的数intm=1;//记录位数cout<<"pleaseinput"<<endl;cin>>num;intk=num;while(k>10){m++;k/=10;}cout<<"输入为"<<m<<&quo