文章目录 题目代码测试结果 题目 代码 #include<stdio.h> int main(void){ int n; int flag=0;//判断中间值是否是浮点数 int a[3];//保存头,尾,和中间值。 int temp; double medium; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&temp); if(i==0)//如果是头 a[0]=temp; if(i==n-1)//如果是尾 a[2]=temp; if(n%2!=0){//如果是奇数个数的中间值 if(i==n/2) a[1]=temp; } else{ if(i==n/2-1) a[1]=temp; else if(i==n/2){ temp=a[1]+temp; if(temp%2==0)//中值是整数 a[1]=temp/2; else{//中值是分数 flag=1; medium=(double)temp/2; } } } } if(flag==0){ if(a[0]>a[2]) printf("%d %d %d\n",a[0],a[1],a[2]); else printf("%d %d %d\n",a[2],a[1],a[0]); } else{ if(a[0]>a[2]) printf("%d %.1lf %d\n",a[0],medium,a[2]); else printf("%d %.1lf %d\n",a[2],medium,a[0]); } return 0; } 测试结果