[c语言]输入数字,从大到小排序,并计算和

任意输入(10个)数字,按从大到小的顺序排序,并计算他们的和

#include <stdio.h>
int main()
{
    int a[10],i,j,t,sum=0;
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
        sum += a[i];  
    }
    for(i=0;i<9;i++)
      for(j=0;j<9-i;j++)
      {
          if(a[j] < a[j+1])
          {
              t = a[j];
              a[j] = a[j+1];
              a[j+1] = t;
          }
      }
      for(i=0;i<10;i++)
          printf("%d ",a[i]);
      printf("\n和为:%d\n",sum);
}


#include<stdio.h>
int main()
{
    int a[10],i,j,temp,sum=0;
    for(i=0;i<10;i++)
       scanf("%d",&a[i]);
    for(i=0;i<9;i++)//n个数的数列总共扫描n-1次
       {
            for(j=0;j<9-i;j++)//每一趟扫描到a[n-i-2]与a[n-i-1]比较为止结束
           {
                if(a[j]>a[j+1])//后一位数比前一位数小的话,就交换两个数的位置(升序)
                {
                   temp=a[j+1];
                   a[j+1]=a[j];
                   a[j]=temp;
                }
           }
       }
    for(i=0;i<10;i++)
    {
        printf("%d ",a[i]);
        sum=sum+a[i];
    }
    printf("\nsum=%d",sum);
    return 0;
}