回 帖 发 新 帖 刷新版面

主题:刚开始自学 a b c 三数按大小输出求解

刚开始自学 a b c 三数按大小输出求解 谭浩强的书刚看到100页 if语句这里 想往前看看做一下习题 看了一下闷了 这题都不会做了-  - 求解 下一步我该如何去学习

回复列表 (共20个回复)

沙发

#include <stdio.h>
#include <stdlib.h>
#define P(X) printf("%d,",X)
int main()
{
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    if(a<=b&&a<=c){
        P(a);
        b<c?(P(b),P(c)):(P(c),P(b));
    }
    if(b<a&&b<c){
        P(b);
        a<c?(P(a),P(c)):(P(c),P(a));
    }
    if(c<a&&c<b){
        P(c);
        a<b?(P(a),P(b)):(P(b),P(a));
    }
    return 0;
}

板凳

ls写的太复杂了
原题只不过是把三个数用三个if做了简单的排序,然后依次输出而已……

3 楼

[quote]ls写的太复杂了
原题只不过是把三个数用三个if做了简单的排序,然后依次输出而已……[/quote]
能不能写出简单的代码让我学习一下

4 楼

同 LS的 ~~~~~~~~~~~~

5 楼

不说别的,就用两个else都可以使一楼的代码少几行

6 楼

ls别只说不做,写出你的代码才有说服力

7 楼

下一步你要更努力的去学习

8 楼

#include "stdio.h"

#define swap(x,y,temp) temp=x,x=y,y=temp

int main()
{
    int a,b,c,temp;
    scanf("%d %d %d",&a,&b,&c);

    if(a>b)    swap(a,b,temp);
    if(b>c)    swap(b,c,temp);
    if(a>b)    swap(a,b,temp);

    printf("%d %d %d",a,b,c);
    return  0 ;
}

9 楼

把三个数当作key放到map<int,int>里,然后输出就行了。排序的事儿可以不做了。

10 楼

#include <stdio.h>
#define swap(x,y) x=x^y,y=x^y,x=x^y
int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    if(a>b)swap(a,b);
    if(b>c)swap(b,c);
    if(a>b)swap(a,b);
    printf("%d %d %d",a,b,c);
    return  0 ;
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册