| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1067 人关注过本帖
标题:请大家帮我改改啊!为什么输入2 3 1类似大小顺序时总是不对啊?谢谢啦!
只看楼主 加入收藏
showboat
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-10-17
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:13 
请大家帮我改改啊!为什么输入2 3 1类似大小顺序时总是不对啊?谢谢啦!
#include<stdio.h>
void main()
{
    int a,b,c,z;
    printf("请输入要比较的三个数字:\n");
    scanf("%d%d%d",&a,&b,&c);
    if(a>b)
    {
        if(c>a)
        {
            z=c;c=a;a=b;
        }
        else
        {
            if(c>b)
            {
                z=a;c=c;a=b;
            }
            else
            {
                z=a;a=c;c=b;
            }
        }
    }
    else               
    {
        if(c>b)
        {
            z=c;c=b;a=a;
        }
        else
        {
            if(c>a)
            {
                z=b;c=c;a=a;
            }
            else
            {
                z=b;a=c;c=a;         
            }
        }
    }
    printf("结果是:\n");
    printf("%d%d%d\n",z,c,a);
}




为什么输入 2 3 1类似的大小顺序的时候总是出错啊?请大家帮忙改改啊,本人刚刚学C语言,还不是很熟练,谢谢啦!
搜索更多相关主题的帖子: 输入 改改 顺序 
2009-10-17 22:12
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:0 
逻辑问题严重,多个判断嵌套很容易出错,建议这个程序不要再管了,换个角度试试比如用数组,这一类程序范例很多,自己找一下

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2009-10-17 22:24
showboat
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-10-17
收藏
得分:0 
谢谢啊    但是我还是想用这种方法联系一下   麻烦了
2009-10-18 10:53
计少
Rank: 2
等 级:论坛游民
帖 子:27
专家分:24
注 册:2009-6-23
收藏
得分:1 
楼主看下这个语句吧,错在这里了吧
          else                 
    {
        if(c>b)
        {
            z=c;c=b;a=a;
        }
        else
        {
            if(c>a)
            {
                z=b;c=c;a=a;
            }
            else
            {
                z=b;a=c;c=a;         
            }
        }
    }
    printf("结果是:\n");
    printf("%d%d%d\n",z,c,a);
}
2009-10-18 11:35
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
貌似很专家
简单问题复杂化

我可好玩啦...不信你玩玩^_^
2009-10-18 11:58
杨柳冰封
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:40
注 册:2009-10-12
收藏
得分:1 
你是想实现数字从大到小的排列吗??
2009-10-18 12:09
杨柳冰封
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:40
注 册:2009-10-12
收藏
得分:3 
#include<stdio.h>
void main()
{
    int a,b,c,z,n;
    printf("请输入要比较的三个数字:\n");
    scanf("%d%d%d",&a,&b,&c);
    if(a>b)
    {
        if(c>a)
        {
            z=c;
            c=a;
            a=b;
        }
        else
        {
            if(c>b)
            {
                z=a;
                //c=c;
                a=b;
            }
            else
            {
                z=a;
                a=c;
                c=b;
            }
        }
    }
    else                 
    {
        if(c>b)
        {
            z=c;
            c=b;
            //a=a;
        }
        else
        {
            if(c>a)
            {
                z=b;
                //c=c;
                //a=a;
            }
            else
            {
                z=b;
                n=a;
                a=c;
                c=n;         
            }
        }
    }
    printf("结果是:\n");
    printf("%d %d %d\n",z,c,a);
}
这样就对了!!
2009-10-18 12:37
showboat
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-10-17
收藏
得分:0 
回答6楼的问题啊    是想实现从大到小排列
麻烦改改啊    谢谢
2009-10-18 20:04
showboat
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-10-17
收藏
得分:0 
回复 6楼 杨柳冰封
是啊   帮忙按照我的思路改改啊  谢谢了!!!
2009-10-18 20:07
showboat
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-10-17
收藏
得分:0 
回复 7楼 杨柳冰封
这样的确正确  谢谢啊!不过能向我解释解释为什么要定义n吗?我的错到底在哪里啊?谢谢啦
2009-10-18 20:13
快速回复:请大家帮我改改啊!为什么输入2 3 1类似大小顺序时总是不对啊?谢谢啦 ...
数据加载中...
 
   



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

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