| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 261 人关注过本帖
标题:新手真心求助个小问题
收藏  订阅  推荐  打印 
denny666
Rank: 1
等级:新手上路
帖子:8
积分:184
注册:2008-7-3
新手真心求助个小问题

输入一个正整数(最大为5位数)要求输出它是个几位数。为什么我前面的int x不

能改为long int x?如果不改输入66666就不行了啊。请教高手指点,谢谢!
main()
{
int x;
scanf("%d",&x);
if(x>9999) printf("x shi 5 weishu\n");
else if(x>999) printf("x shi 4 weishu\n");
else if(x>99)  printf("x shi 3 weishu\n");
else if(x>9)   printf("x shi 2 weishu\n");
else printf("x shi 1 weishu\n");
}
搜索更多相关主题的帖子: 真心  
2008-7-11 09:41
denny666
Rank: 1
等级:新手上路
帖子:8
积分:184
注册:2008-7-3

晕  怎么没有人来帮助我一下~~~`
2008-7-11 09:54
denny666
Rank: 1
等级:新手上路
帖子:8
积分:184
注册:2008-7-3

版主救命啊 `````怎么没有人回答我  等啊`` 我等```
2008-7-11 10:02
xxwpk007
Rank: 2
等级:注册会员
帖子:52
积分:766
注册:2007-7-29

VC++ 6.0编译成功,正常运行

这个程序没问题啊

输入66666可以的啊

[ 本帖最后由 xxwpk007 于 2008-7-11 10:13 编辑 ]

[ 本帖最后由 xxwpk007 于 2008-7-11 10:16 编辑 ]
2008-7-11 10:12
denny666
Rank: 1
等级:新手上路
帖子:8
积分:184
注册:2008-7-3
回复 4# xxwpk007 的帖子

可是 66666 超出 int 的最大值了啊  我的输出的结果是  4位数
随便说一下 我用的是 Turbo C 2.01    谢谢你的回复:)

[ 本帖最后由 denny666 于 2008-7-11 10:20 编辑 ]
2008-7-11 10:19
woshiyun
Rank: 3Rank: 3
等级:中级会员
帖子:173
积分:2404
注册:2008-6-16

TC的int是16位,VC的int是32位
2008-7-11 10:22
coming
Rank: 3Rank: 3
等级:中级会员
帖子:238
积分:2558
注册:2008-4-20

各个编译器每个类型分配的字节数是不一样的了 你用sizeof测一下就好
2008-7-11 13:30
w362034710
Rank: 2
等级:注册会员
帖子:169
积分:1818
注册:2006-12-2

你可以用字符数组接收,并用asc码判断是否含有非数字,全是数字 的话就直接取数组的长度。
2008-7-11 14:39
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.051274 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved