为了降低复杂度,所以应该避免去排序!具体算法如下:

#include<stdio.h>
main(){
    int  max=0,min=0,temp=0,i,a[10],sum=0;
    float avg=0;
    //初始化数组
    for(i=0;i<10;i++)
    {
      scanf("%d",&a[i]);
      printf("\n");
     }

     for(i=0;i<10;i++)
     {
       printf("%d\t",a[i]);
     }

     if(a[0]<a[1])
     {
       max=a[1];
       min=a[0];
     }else{
       max=a[0];
       min=a[1];
     }

     printf("max  :%d\n",max);
     printf("min  :%d\n",min);

     for(i=2;i<10;i++)
     {
       if(a[i]>max)
       {
            temp=max;
            max=a[i];
       }else if(a[i]<min)
       {
            temp=min;
            min=a[i];
       }else{
           temp=a[i];
       }
       sum+=temp;
       }
       printf("sum is %d\n",sum);
       avg = sum/8.0;
       printf("平均数字是:%f ",avg);
}