| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 428 人关注过本帖
标题:求解~这个运行出错在哪里
只看楼主 加入收藏
slayers88
Rank: 1
等 级:新手上路
帖 子:11
专家分:8
注 册:2011-3-24
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
求解~这个运行出错在哪里
给定一个不多于5位的正整数,要求:
① 求它是几位数;
② 分别打印出每一位数字;
③ 按逆序打印出各位数字。例如原数为321,应输出123。
#include<stdio.h>
void main()
{
    int a,b,c,d,e,f,g;
    scanf("%d",&a);
        if(0<a<10000)
        {
            printf("%d\n",a);
            b=a/1000;
            c=a/100%10;
            d=a/10%10;
            e=a%10;
            printf("千位=%d\n百位=%d\n十位=%d\n个位=%d\n",b,c,d,e);
            f=e;
            e=b;
            b=f;
            g=c;
            c=d;
            d=g;
            printf("%d%d%d%d",b,c,d,e);
        }
        else
        {
            printf("error x");
        }
}
**********************************************
我输入1234
程序运行结果:
1234
千位=1
百位=2
十位=3
个位=4
4321
这个结果是对的
**********************************************
我输入12345
程序运行结果:
12345
千位=12
百位=3
十位=4
个位=5
54312
为什么没有满足另一个大于10000的条件呢
搜索更多相关主题的帖子: 正整数 
2011-03-25 22:22
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:10 
我想引用一个书的名字 Thinking in C

请用 C 语言思考
用C 看这个表达式 0<a<10000 先算 0<a 你输入的是12345,所以0<a等于1 然后再算 1<10000结果可想而知

不过按照你这种写法,我想,你应该是按数学的思想来用 C 语言了

在 C 里,应该是这么写的吧好像 ,
if((0<a)&&(a<10000))   sorry 我对运算符优先级不是很熟,所以写了好多括号


[ 本帖最后由 bccn250 于 2011-3-25 22:34 编辑 ]
2011-03-25 22:31
slayers88
Rank: 1
等 级:新手上路
帖 子:11
专家分:8
注 册:2011-3-24
收藏
得分:0 
恩是有点~我刚买书学呢~学做书上例题~嘿嘿~接触的还没那么深
2011-03-25 22:34
slayers88
Rank: 1
等 级:新手上路
帖 子:11
专家分:8
注 册:2011-3-24
收藏
得分:0 
哦~if(0<a&&a<10000) 当要用2个条件的时候一定都要满足真的情况下才能同时运行...
谢谢
2011-03-25 22:39
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
用数组操作比较好

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-25 23:25
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:0 
字符串可以让你随心所欲地驾驭这个程序

免费赠送河蟹一只
2011-03-25 23:28
zenglio
Rank: 2
等 级:论坛游民
帖 子:18
专家分:12
注 册:2010-11-3
收藏
得分:0 
我也是新手,共同努力吧!
2011-03-25 23:37
songp172009
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-3-26
收藏
得分:0 
还有一点,你那个运算的时候,首先是 b=a/1000,b如果是4位数那就没问题,b如果是5位数,你自己算一下,b=12345,它除1000等于12.345,取整之后就是12了。题目上说是不多于5位的正整数,所以我的想法是先把这个数转换为字符,按照字符处理。至于怎样转换成字符,这个你自己可以看看其他资料。呵呵
2011-03-26 10:29
快速回复:求解~这个运行出错在哪里
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022544 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved