c语言中如何将10个数由大到小的顺序输出

c语言中如何将10个数由大到小的顺序输出

先排序 再输出。

#include <stdio.h>
int main()
{
    int a[10],i,j, t;
    for(i = 0; i < 10; i ++)
        scanf("%d",&a[i]);
        
    for(i = 0; i < 9; i ++)
        for(j = i+1; j < 10; j ++)
            if(a[i]<a[j])
            {
                t=a[i];
                a[i] = a[j];
                a[j] = t;
            }
    for(i = 0; i < 10; i ++)
        printf("%d,",a[i]);
    printf("\n");
    
    return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-13

思路如下:

    把这10个数保存到一个数组中;

    自己写一个比较函数,类型为int cmp(const void* a, const void* b),当a指向的内容大于b指向内容时返回1,a指向内容小于b指向内容时返回-1,二者相等时返回0;

    调用stdlib库中的qsort函数,函数的最后一个参数用第2步的cmp函数指针。

相似回答
大家正在搜