| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1357 人关注过本帖
标题:按从小到大的顺序输出数字的代码运行错误
只看楼主 加入收藏
y68168
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2011-2-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:14 
按从小到大的顺序输出数字的代码运行错误
不知道错在什么地方了。

main()
{
    int a,b,c,sum;
    printf("请输入3个数:\n");
    scanf("%d,%d,%d",&a,&b,&c);
    if(a>b)
    a=b;
    b=sum;
    {
        if(b>c)
        b=c;
        c=sum;
    }
    printf("从小到大的顺序是:%d,%d,%d",a,b,c);
}
2011-02-19 17:18
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:0 
楼主,程序设计学习方法中一个最重要的方法是:把自己当成计算机,严格地按程序执行一遍,并仔细观察程序中所涉及的变量的值的变化情况,即所谓的“变量跟踪”。
main()
{
    int a,b,c,sum;           //a, b, c, sum四个变量没有赋值,其值都是垃圾数据(不可预料的数据)
    printf("请输入3个数:\n");
    scanf("%d,%d,%d",&a,&b,&c); //假设你从键盘输入:6,5,4
//那么a为6,b为5,c为4
    if(a>b) //这个条件在上述数据的基础上是成立的,将执行a=b;的操作。
    a=b;
//此时a为5,b为5,c为4。注意:a的原值已经被覆盖,因而消失了,这里已经有问题了!
    b=sum;//sum变量的值是多少呢?相信你也不知道吧,但你却把sum的值赋值给了b。不要以为你给一个变量起名字为sum,那么这个变量就能自动的得到a,b,c三个变量的和值!至少计算机不知道。
后面的就从略了吧。。。

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-02-19 17:34
houstonlee89
Rank: 1
来 自:辽宁盘锦
等 级:新手上路
帖 子:14
专家分:6
注 册:2011-2-4
收藏
得分:0 
稀里糊涂的,不知道sum是做什么用的
2011-02-19 17:41
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
程序至多比较3次,a,b,c
a同b比较,看谁大的
b同c比较,看谁大的
a同b比较,看谁小的

小代码,大智慧
2011-02-19 17:47
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:0 
多问楼主一个问题,你和野马是神马关系啊?你相信“一年掌 握软件工程师实用技能”这个说法么?
倘若真的如此,还要在大学设立为期4年的计算机软件专业干什么啊!
骗子从来只能骗无知的人啊。(没有冒犯你的意思,在计算机软件设计这个行业,你就是一个“无知”者啊)

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-02-19 17:48
a563622106
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2011-2-14
收藏
得分:20 
下面应该这么写吧
if(a>b)
{
sun=a;
a=b;
b=sun;
}
if(a>c)
{
sun=a;
a=c;
b=sun;
}if(b>c)
{
sun=c;
c=b;
b=sun;
}
2011-02-19 17:57
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:0 
#include<stdio.h>
int main(void)
{
    int a,b,c,t,p;
    printf("请输入3个数:\n");
    scanf("%d%d%d",&a,&b,&c);
    if(a<b)
    {
        if(a<c)
        {
            if(b>c)
            {
                t=c;
                c=b;
                b=t;
            }
        }
    }
    else if(b>c)
    {
        t=a;
        a=c;
        c=t;
    }
    else if(a<c)
    {
        t=a;
        a=b;
        b=t;
    }
    else
    {
        p=c;
        t=a;
        a=b;
        b=p;
        c=t;

    }
    printf("从小到大的顺序是:%d,%d,%d",a,b,c);
    return 0;
}
给楼主一个好理解的

免费赠送河蟹一只
2011-02-19 17:58
等伱丨至心伤
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-2-14
收藏
得分:0 
有这么复杂么
2011-02-19 18:44
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用pcbaichi在2011-2-19 17:58:25的发言:

#include<stdio.h>
int main(void)
{
    int a,b,c,t,p;
    printf("请输入3个数:\n");
    scanf("%d%d%d",&a,&b,&c);
    if(a<b)
    {
        if(a<c)
        {
            if(b>c)
            {
                t=c;
                c=b;
                b=t;
            }
        }
    }
    else if(b>c)
    {
        t=a;
        a=c;
        c=t;
    }
    else if(a<c)
    {
        t=a;
        a=b;
        b=t;
    }
    else
    {
        p=c;
        t=a;
        a=b;
        b=p;
        c=t;

    }
    printf("从小到大的顺序是:%d,%d,%d",a,b,c);
    return 0;
}
给楼主一个好理解的

学习啦, 数字多的话就得用数组。收藏啦。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-02-19 18:48
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <conio.h>

int main (void) {

    int a,b,c,t;

    printf("请输入3个数:\n");

    while(scanf("%d%d%d",&a,&b,&c)){

    if(a>b)
    {
        t=a;
        a=b;
        b=t;
    }
    if(b>c)
    {
        t=b;
        b=c;
        c=t;
    }

   if(a>b)
   {
        t=a;
        a=b;
        b=t;
   }
     printf("从小到大的顺序是:%d,%d,%d\n",a,b,c);

    }
        getch();
        return 0;

}


小代码,大智慧
2011-02-19 18:50
快速回复:按从小到大的顺序输出数字的代码运行错误
数据加载中...
 
   



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

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