代码如下:
#include<stdio.h>
int main()
{
int a,b
int i
printf("请输入一个数字:")
scanf("%d",&a)
b=a
for(i=0a>1i++)
{
a=a/10
}
printf("%d是%d位数\n",b,i)
}
扩展资料:
思路详解:
在C语言中,经常会用到以整数相除来确定一个整形数字的每一位的具体数字是多少,同理,此处可用整数相除来判断一个数的位数。
首先,使用scanf函数获取这个数字的值,且赋给变量b,作一个备份。
接着,确定核心思路为,当一个数整除10,第一次结果为1时,这个数是一个个位数。因而,以其作为循环内的主体。
得到了for(i=0a>1i++) a=a/10这样的代码,最后,输出结果即可。
c语言怎么计算一个数有多少位的方法:1.
输入待计算的数x
2.
定义一个数位的变量int
n=0
3.
循环,x每次缩小10倍,n=n+1
最终x会变成0,循环结束
4.
输出n值
代码:
#include
void main()
{
int x,m,n=0
printf("input x: ")scanf("%d", &x )
m=x//备份原数,供输出用
do {
n++
x /= 10
} while( x>0 )
printf("%d 是%d位数\n", m, n )
}