问题标题: 酷町堂:1143怎么做

0
0
已解决
芮奥运
芮奥运
高级光能
高级光能

http://judge.codingtang.com/problem/1143/

1143   从小到大输出三个数

题目描述 Description

任意输入三个整数a ,b ,c,按从小到大的顺序输出。(-32768 =< a,b,c <= 32767)

输入描述 Input Description

输入为一行,包含三个整数且不超过32767,每个整数之间以一个空格分开。

输出描述 Output Description

输出一行,按从小到大的顺序输出。

样例输入 Sample Input

 

8 2 4

样例输出 Sample Output

 

2 4 8

我90分:

#include<iostream>
using namespace std;
int main()
{
    int a,b,c;
    cin >>a>>b>>c;
    if(a>=b&&b>=c&&a>=c)
    {
        cout<<c<<" "<<b<<" "<<a;
    }
    if(a>=c&&a>=b&&c>=b)
    {
        cout<<b<<" "<<c<<" "<<a;
    }
    if(b>=c&&b>=a&&c>=a)
    {
        cout<<a<<" "<<c<<" "<<b;   
    }
    if(b>=a&&b>=c&&a>=c)
    {
        cout<<c<<" "<<b<<" "<<a;   
    }
    if(c>=a&&c>=b&&b>=a)
    {
        cout<<a<<" "<<b<<" "<<c;
    }
    if(c>=a&&c>=b&&a>=b)
    {
        cout<<b<<" "<<a<<" "<<c;   
    }
    return 0;
}

0
已采纳
方宇哲
方宇哲
资深守护
资深守护
 if(a<b&&a<c&&b<c)
    {
       cout<<a<<' '<<b<<' '<<c;
    } else if(a<b&&a<c&&c<b)
    {
        cout<<a<<' '<<c<<' '<<b;
    }else if(b<a&&b<c&&a<c)
    {
        cout<<b<<' '<<a<<' '<<c;
    }else if(b<a&&b<c&&c<a)
    {
        cout<<b<<' '<<c<<' '<<a;
    }else if(c<a&&c<b&&a<b)
    {
        cout<<c<<' '<<a<<' '<<b;
    }else if(c<a&&c<b&&b<a)
    {
        cout<<c<<' '<<b<<' '<<a;
    }

核心代码

头代码》定义》输入》核心代码》返回值

0
0
郑怡翔
郑怡翔
初级天翼
初级天翼

应该用else if

不然你操作好了,又被下一个if打乱了

改正方法:

除了第一个if,其他换成else if

郑怡翔在2018-02-08 14:43:10追加了内容

这样先判断a是不是最大的,再判断b,c两个的位置安排,最后输出

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

 

0
陆姗姗
陆姗姗
资深守护
资深守护

你的第四个if写错了

if(b>=a&&b>=c&&a>=c) 
    { 
        cout<<c<<" "<<b<<" "<<a;   
    }

第四个if在第一个if的时候已经判断过了

第四个应该是b>a>c的情况

0
李乐凡
李乐凡
新手光能
新手光能

你用long long再试试,可能范围小了

0
我要回答