C语言 编写一个程序,输入一个正整数,求出它是几位数。

希望各位能给出详细步骤... 希望各位能给出详细步骤 展开
 我来答
985967518
2015-12-11 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109908
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部

思路:求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。

参考代码:

#include <stdio.h>
int main()

int n,num=0;
scanf("%d",&n);
while(n){
num++;
n/=10;
}
printf("%d\n",num);
    return 0;
}
/*
输出:
123456
6
*/
lxn769
2008-07-03 · TA获得超过185个赞
知道答主
回答量:56
采纳率:0%
帮助的人:0
展开全部
main()
{int a;
int i,N;
scanf("%d",&a);
for(i=0;a;i++)
a=a/10;
N=i;
printf("N=%d\n",N);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanarri
2008-07-03 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5123
采纳率:33%
帮助的人:8640万
展开全部
void main(){
int n,i=0;
scanf("%d",&n);
while (n!=0){
n/=10;
i++;
}
printf("the number of digits is %d\n",i);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aqwsz55
2018-04-16
知道答主
回答量:2
采纳率:0%
帮助的人:1938
引用985967518的回答:
思路:求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。
参考代码:
#include <stdio.h>int main(){ int n,num=0; scanf("%d",&n); while(n){ num++; n/=10; } printf("%d\n",num); return 0;}/*输出:1234566*/
展开全部
如果是120005呢,中间有零呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0瞳0year
2018-03-13
知道答主
回答量:2
采纳率:0%
帮助的人:1948
展开全部
#include<stdio.h>
main(void)
{int n,i=1;
scanf("%d",&n);
while(n/10>0)
{i=i+1;
n=n/10;
}
printf("n是%d位数\n",i);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式