用C语言编写程序。输入一个自然数N,输出N的位数。

如题所述

要输出一个自然数N的位数,可以使用log10函数。log10函数的返回值是以10为底的对数,可以用来计算一个数的位数。具体实现如下:
#include <stdio.h>#include <math.h>int main() {int n;scanf("%d", &n);int digits = (int)log10(n) + 1;printf("%d\n", digits);return 0;}

首先,使用scanf函数读入一个自然数n。然后,使用log10函数计算n的位数。由于log10函数返回的是一个浮点数,需要强制转换为整数。最后,使用printf函数输出位数。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-29
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void main()
{
int a;
char str1[200];
printf("Please input a integer: "); scanf("%d", &a);
itoa(a, str1, 10);
printf("The length of integer=%d", strlen(str1));
}追问

有没有更简单的写法啊。

这样写对吗

追答

没问题,独出心裁,不错。
#include
void main()
{
int a, i=0;
printf("Please input a integer: "); scanf("%d", &a);
while(a) { a/=10, i++; }
printf("The length of integer=%d", i);
}

本回答被提问者采纳
相似回答