C语言怎么计算一个数有多少位

如题所述

第1个回答  推荐于2018-04-03

C语言怎么计算一个数有多少位的方法:

    输入待计算的数x

    定义一个数位的变量int n=0;

    循环,x每次缩小10倍,n=n+1; 最终x会变成0,循环结束

    输出n值

代码:

#include <stdio.h>
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 );
}

第2个回答  推荐于2016-04-05
要是是整形的话可以这样做:

int a = 2134;
int count = 0;
while (a != 0)
{
count++;
a /= 10;
}
printf("%d",count);

以上可以借鉴下,你自己思考下这个数是浮点数的情况。本回答被提问者和网友采纳
第3个回答  2018-11-27
#include<stdio.h>
#include<math.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d是一个%d位数。", a, (int)log10(a) + 1);
return 0;
}

我比较喜欢用常用对数。

第4个回答  2020-10-29

C语言经典例子之求解正整数位数

第5个回答  2018-04-03
#include <stdio.h>void main(){ int x,m,n=0; printf("input x: ");scanf("%d", &x ); m=x; //备份原数,供输出用 do { n++; x /= 10 ; } while( x> 1); printf("%d 是%d位数\n", m, n );}
相似回答