C语言这题怎样改,能从大到小的顺序输出

如题所述

如果只是要求从大到小的输出,而你已经有了书上所写的程序的话,最简单的方法,就是printf("%5.2f,%5.2f,%5.2f",c,b,a);就行了。
如果是自己重新写程序,或是要求a>b>c的话,只要把书上的程序中,三个if语句中的>改为<就可以了。
因为这个if 语句的含义是,如果两个变量的大小顺序不符合要求的话,就交换这两个变量的值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-10-18
就是排序啊,网上排序的算法很多,你去搜搜就行了
第2个回答  2018-10-18
#include<stdio.h>

int main(){
    int a,b,c,t;
    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);
}

第3个回答  2018-10-18
你的要求:a>b>c
if b>a a和b置换
if c>a c和a置换
if c>b c和b置换
第4个回答  2018-10-18
最后一个输出改成
printf("%5.2f,%5.2f%5.2f\n",c,b,a); 因为之前的过程已经排序了 a是最小的c是最大的哈哈。
真实的应该这样改。
之前的if(a>b)和if(a>c)的大于号都改成小于号也可以。
if(a>b){t=a;a=b;b=t;} 的意思是 如果a>b,那么 变量t是最大值,再把b赋值给a(现在a就是那个比较小的啦) 最后在把t的值(现在t的值是之前a(较大数)的值)赋值给b。
第5个回答  2018-10-18
16进制