标题:大神们,新手求指错!!!
只看楼主
深蓝灬
Rank: 2
等 级:论坛游民
帖 子:29
专家分:22
注 册:2011-9-14
结帖率:87.5%
已结贴  问题点数:15 回复次数:4 
大神们,新手求指错!!!
从键盘输入三个数,按从小到大顺序输出。编译成功了,但就是不能实现交换的结果。

#include "stdio.h"

main()
{
int a,b,c;
int temp1,temp2;
printf("please enter three numbers:\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
  if(a>c)
    if(b>c)
    {
    temp1=b;
    b=c;
    c=temp1;
    }
    else if(b<c)
         {
         temp1=a;
         a=b;
         c=temp1;
         temp2=c;
         b=temp2;
         }
  else if(a<c)
       {
        temp1=a;
        a=b;
        b=temp1;
       }
else if(a<b)
       if(a>c)
       {
         temp1=a;
         a=c;
         temp2=b;
         b=temp1;
         c=temp2;
       }
       else if(a<c)
              if(b>c)
              {
                temp1=a;
                a=b;
                temp2=c;
                c=temp1;
                b=temp2;
              }


              else
printf("%d<%d<%d",a,b,c);


        getch();
}



搜索更多相关主题的帖子: 成功 numbers include 键盘 please 
2011-10-03 13:51
larryliu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:58
专家分:128
注 册:2011-9-30
得分:0 
你这个代码逻辑好乱~~
给你一个简单点的吧~~
#include "stdio.h"

main()
{
int a,b,c;
int temp1,temp2,temp3;
printf("please enter three numbers:\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
{
    temp1=a;
    a=b;
    b=temp1;
}
if(b>c)
{
    temp2=b;
    b=c;
    c=temp2;
}
if(a>b)
{
    temp3=a;
    a=b;
    b=temp3;
}
printf("%d<%d<%d",a,b,c);
        return 0;
}
注意scanf那里输入的时候要加逗号
2011-10-03 14:23
深蓝灬
Rank: 2
等 级:论坛游民
帖 子:29
专家分:22
注 册:2011-9-14
得分:0 
回复 2楼 larryliu
求详细解释!!
2011-10-03 14:37
larryliu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:58
专家分:128
注 册:2011-9-30
得分:15 
#include "stdio.h"

main()
{
    int a,b,c;
    int temp1,temp2,temp3;
    printf("please enter three numbers:\n");
    scanf("%d,%d,%d",&a,&b,&c);
    if(a>b)                  /*先比较a,b,假如a>b,就把a,b的值对换这样就a<b了*/
    {
        temp1=a;
         a=b;
        b=temp1;
    }
    if(b>c)                 /*然后比较b,c,假如b>c,就把b,c的值对换这样就b<c了*/
    {
        temp2=b;
        b=c;
        c=temp2;
    }
    if(a>b)                  /*最后比较a,b,假如a>b,就把a,b的值对换这样就a<b了*/
    {
        temp3=a;
        a=b;
        b=temp3;
    }
    printf("%d<%d<%d",a,b,c);/*要知道此时的a,b,c都不一定是你最开始输入的a,b,c,前面可能已经对它们的值进行了调换的了*/
    return 0;
}
2011-10-03 14:55
深蓝灬
Rank: 2
等 级:论坛游民
帖 子:29
专家分:22
注 册:2011-9-14
得分:0 
回复 4楼 larryliu
谢谢了哈!@!
2011-10-03 15:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-351508-1-1.html




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

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