C语言要考试的试题,跪求大神解决,在线等。

问题:用冒泡法对任意输入的20个元素的数组进行从大到小排序。

感觉这个代码好复杂,求大神小露一手,谢谢。

供参考:

#include<stdio.h>

int  main()
{
    int i,j,tmp,a[20];

    for(i=0;i<20;i++) //输入20个数
        scanf("%d",&a[i]);

    for(i=0;i<20-1;i++)  //冒泡排序
        for(j=0;j<20-i-1;j++)
            if(a[j] < a[j+1])
             {tmp=a[j];a[j]=a[j+1];a[j+1]=tmp;}

    for(i=0;i<20;i++)  //输出排序好的数组
        printf("%d ",a[i]);
    printf("\n");
    
    return 0;
}