编程中国
|
业界新闻
|
技术文章
|
视频教程
|
下载频道
|
程序源码
|
个人空间
|
编程论坛
注册
登录
搜索
标签
帮助
编程论坛
»
C语言论坛
» 一道非常简单的题目输入数字输出他是几位的数
搜索
全能
ASP / PHP / ASP.NET
主机,支持月付
专业
MSSQL
数据库空间,支持月付
专业
MySQL
数据库空间,支持月付
学习型 ASP/PHP/ASP.NET 主机
30
元/年
‹‹ 上一主题
|
下一主题 ››
打印
一道非常简单的题目输入数字输出他是几位的数
gvtbs
注册会员
帖子
119
精华
0
积分
1296
在线时间
3 小时
注册时间
2004-9-6
个人空间
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2005-1-17 11:37
只看该作者
一道非常简单的题目输入数字输出他是几位的数
源程序如下:
us(int a)
{int b;
if(a/10==0) b=1;
else b=us(a/10)+1;
return(b);
}
main()
{int a,b;
scanf("%d",&a);
b=us(a);
printf("%d",b);
}
我的程序运行小于6位数的时候出去的位数是正确的可是一超过或等于六位数的时候就出错了我明明输入六位他确得到4位的,为什么在那里错了请高手指点。
UID
3251
阅读权限
20
性别
男
最后登录
2008-5-18
查看详细资料
TOP
空前
金牌会员
帖子
1145
精华
1
积分
11600
在线时间
0 小时
注册时间
2004-5-11
个人空间
发短消息
加为好友
当前离线
2
#
大
中
小
发表于 2005-1-17 11:39
只看该作者
超过32767就不行了,你的数据类型太小!
用long
UID
387
阅读权限
70
性别
男
最后登录
2006-7-2
查看详细资料
TOP
lyw505
注册会员
帖子
52
精华
0
积分
620
在线时间
0 小时
注册时间
2004-12-2
个人空间
发短消息
加为好友
当前离线
3
#
大
中
小
发表于 2005-1-17 12:05
只看该作者
把int 变为float ,%d变为%f,呵呵
UID
7057
阅读权限
20
性别
男
最后登录
2007-9-18
查看详细资料
TOP
gvtbs
注册会员
帖子
119
精华
0
积分
1296
在线时间
3 小时
注册时间
2004-9-6
个人空间
发短消息
加为好友
当前离线
4
#
大
中
小
发表于 2005-1-17 12:14
只看该作者
空前说的我试了还是一样没有用,上面这样说的有点不对数字的位数是不有用实型的
难道我输入5324那输出的是4。00位晕
UID
3251
阅读权限
20
性别
男
最后登录
2008-5-18
查看详细资料
TOP
gvtbs
注册会员
帖子
119
精华
0
积分
1296
在线时间
3 小时
注册时间
2004-9-6
个人空间
发短消息
加为好友
当前离线
5
#
大
中
小
发表于 2005-1-17 12:17
只看该作者
哦我在试了一下空前说的终于可以了谢谢版主。
UID
3251
阅读权限
20
性别
男
最后登录
2008-5-18
查看详细资料
TOP
‹‹ 上一主题
|
下一主题 ››
控制面板首页
编辑个人资料
积分记录
公众用户组