在C语言中如何输出数字的位数

 我来答
tattackor
2015-07-03 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:891万
展开全部

1. 使用itoa函数把数转换为字符串类型,在使用strlen函数统计字符串长度。即数字的位数。

2. 例程:

#include <stdio.h>
#include <stdlib.h> // itoa 要使用的头文件
#include <string.h> // strlen 要使用的头文件
void main()
{
 int i, len;
 char str[20];
 
 scanf("%d", &i);  // 读入一个数字
 itoa(i, str, 10); // 将该数字转换成字符串类型
 len = strlen(str); /* 计算字符串的长度 [参数1:要转换的数 参数2:转换后存放到的位置 参数3:以十进制转换]*/
 printf("IN Total: %d\n", len);
}
ldw_xc007
2015-06-01 · TA获得超过458个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:255万
展开全部
#include "stdio.h"
int weishu(long x);
int main()
{
long i;
int m = 0;
scanf("%ld",&i);
m = weishu(i);
printf("该数字的位数%d:",m);
return 0;
}

int weishu(long x)
{
int m = 0;
while(x > 0)
{
m++;
x = x / 10;
}
return m;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b370889
2011-03-14 · TA获得超过213个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:101万
展开全部
设置一个以为数组,足够大,或者用NEW在需要的时候开辟新空间,再用一个WHILE循环就可以了.int Sum(char ch[])
{
int i=0;
while(ch[i])
i++;
return i;
}
这个函数就可以统计数字个数了,需要进行相应的修改。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
returnsr
2011-03-14 · TA获得超过296个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:165万
展开全部
#include <stdio.h>
#include <stdlib.h> // itoa 要使用的头文件
#include <string.h> // strlen 要使用的头文件

void main()
{
int i, len;
char str[20];

scanf("%d", &i); // 读入一个数字
itoa(i, str, 10); // 将该数字转换成字符串类型
len = strlen(str); /* 计算字符串的长度 [参数1:要转换的数 参数2:转换后存放到的位置 参数3:以十进制转换]*/
printf("IN Total: %d\n", len);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友83c4a72a9
2011-03-14 · TA获得超过118个赞
知道小有建树答主
回答量:280
采纳率:0%
帮助的人:209万
展开全部
自己判断啊,写成个子函数
int fun4(int digit)
{
int count = 0;
for (; digit > 0; digit /= 10)
{
count ++;
}
return count;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式