C语言里如何判断一个整形数据是几位数?

如题所述

#include<stdio.h>
int main()
{int x,x1,n=0;
scanf("%d",&x);
x1=x;
do{
n++;
x1/=10;
}while(x1);
printf("%d 是一个 %d 位数\n",x,n); return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-22
#include <stdio.h>
int main()
{
int n,nn=1; /*n表示输入的整型数据,nn表示整型数据的位数*/
scanf("%d",&n);
if(n%10!=0)
{
n=n/10;
++nn;
printf("你输入的整型数据是%d位数\n",nn);
}
else printf("您输入的整型数据是%d位数\n",n/10+1);
return 0;
}
第2个回答  2013-10-22
朋友,我来告诉你答案!intfun(ints)
{
inti=0;
while(s!=0)
{s/=10;i++}
returni;
}本回答被网友采纳
第3个回答  2018-09-20
用atoi转整形为字符串,再strlen求长度
第4个回答  2017-12-17

#include<stdio.h>

#include<math.h>

int main()

{

int i,n,x;

printf("Please enter the number:\n");

scanf("%d",&n);

x=fabs(n);

for(i=0;x!=0;i++)

{

x=x/10;

}

printf("%d: %d bits\n",n,i);

return 0;

}