C语言题,用IF语句实现由大到小输出变量,a,b,c的值,麻烦哪位大神给我写小,顺便给我讲讲思路,

C语言题,用IF语句实现由大到小输出变量,a,b,c的值,麻烦哪位大神给我写小,顺便给我讲讲思路,拜托拜托

#include<stdio.h>
int main()
{
    int a=3,b=10,c=8;
    int a1,b1;
    if(a>b)//选出ab中较大的存入a1中,较小的存入b1中
    {
        a1=a;
        b1=b;
    }
    else
    {
        a1=b;
        b1=a;
    }
    if(a1<c)//将c和较大的比较
    {//如果c比a1大,则三个数的顺序是c,a1,b1
        printf("%d %d %d\n",c,a1,b1);
    }
    else
    {//如果c没有a1大,则c再与b1比较
        printf("%d ",a1);
        if(c>b1)
            printf("%d %d\n",c,b1);
        else
            printf("%d %d\n",b1,c);
    }
    return 0;
}

不懂的问

追问

大神麻烦了

追答

abc的初始值你随便设置

追问

用SCANF输入的变量,用IF语句写,不要用IF else那种

追答#include<stdio.h>
int main()
{
    int a=3,b=10,c=8;
    scanf("%d%d%d", &a, &b, &c);
    int a1,b1;

    if(a>b)//选出ab中较大的存入a1中,较小的存入b1中
    {
        a1=a;
        b1=b;
    }
    if(a<b||a==b)
    {
        a1=b;
        b1=a;
    }

    if(a1<c)//将c和较大的比较
    {//如果c比a1大,则三个数的顺序是c,a1,b1
        printf("%d %d %d\n",c,a1,b1);
    }
    if(a1>c||a1==c)
    {//如果c没有a1大,则c再与b1比较
        printf("%d ",a1);
        if(c>b1)
            printf("%d %d\n",c,b1);
        if(c<b1||c==b1)
            printf("%d %d\n",b1,c);
    }
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-24
#include "stdio.h"
#include "string.h"
int main(void)
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if (a >= b && b >= c)
printf("%d %d %d", a, b, c);
else if (a >= c && c >= b)
printf("%d %d %d", a, c, b);
else if (b >= c && c >= a)
printf("%d %d %d", b, c, a);
else if (b >= a && a >= c)
printf("%d %d %d", b, a, c);
else if (c >= a && a >= b)
printf("%d %d %d", c, a, b);
else if (c >= b && b >= a)
printf("%d %d %d", c, b, a);
return 0;
}追答

求采纳,亲

追问

写的很好,不过我要得是IF语句阿

追答

这就是if啊。

if选择结构不对么?

本回答被网友采纳
第2个回答  2015-02-24
高中学过流程图吧。画出来在写 十分容易了就