请问如何判断输入数字的长度?

fewhorse 2008-11-05 09:56:43
怎样可以获得scanf("%d",n);的十进制数长度。如输入123判断是3位数。谢谢
...全文
347 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fewhorse 2008-11-05
  • 打赏
  • 举报
回复
谢谢各位帮忙。感谢各位提供的思路。已解决。
CN_CHINA 2008-11-05
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<iostream>
int main()
{
int i=0;int d;int j=10;
scanf("%d",&d);
while(d%j!=0)
{
d=d-d%j;
i++;
j*=10;
}
printf("%d",i);
system("pause");
return 0;
}
jingyuge 2008-11-05
  • 打赏
  • 举报
回复
可以让他处以10的N次方,判断,知道123处以1000的余数等于它本身为止。这样就判断出来了
lsldd 2008-11-05
  • 打赏
  • 举报
回复
第一个代码有点 错误,更正如下
int n = 123;
char s[16];
itoa( n ,s,10);
int leng = strlen(s);
lsldd 2008-11-05
  • 打赏
  • 举报
回复
方法1:除10
int i = n;
int leng = 0;
while(i)
{
i/= 10;
leng++;
}


方法2:利用字符串

char s[16];
itoa( s, n );
int leng = strlen(s);
}


69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧