从大到小排序C++求解

描述:
用冒泡排序对输入的整数 从大到小 排序输出
输入数据不超过 100 个,数据大小在 0 ~ 10000 之间。
请将程序填写完整。
输入格式:
输入两行,
第一行 N ,表示一共有多少待排序数据。
第二行是 N 个整数,以空格隔开。
输出格式:
排序好的数据,以空格隔开。
输入样例:
8
6 5 3 1 8 7 2 4 输出样例:
8 7 6 5 4 3 2 1

int main()
{
    int a[100];
    int n,i,j;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    for(i=0;i<n-1;i++)
        for(j=0;j<n-i-1;j++)
        {
              if(a[j] < a[j+1])
              {
                    int t = a[j];
                    a[j] = a[j+1];
                    a[j+1] = t;
              }
        }
    for(i=0;i<n;i++)
        printf("%d ",a[i]);
    return 0;
}