摸底
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
0
-
描述
-
HEIHEI该上初中了,老师想摸一下同学们的底看看同学们的学习情况,在小学毕业时考了7个科目,现在老师要求班里的每个同学算出他7个科目中最高的成绩、最低的成绩,中间排名的成绩,这三个成绩的平均值,结果保留两位小数。然后同学们把算出的平均值写在纸上交给老师。例如HEIHEI的成绩是 65 78 45 89 90 73 80,那么HEIEHI就应该算出45+90+78的平均值,71.00.
-
输入
- 第一行给出一个数n,表示总共有几个同学。(1<=n<=60) 输出
- 输出占一行,每行输出同学的平均成绩。 样例输入
-
2 45 65 73 78 80 89 90 82 65 73 88 96 90 80
样例输出
-
71.00 81.00
错误代码: #include<stdio.h> int main() { void sort(int score[],int m); int score[7]; int max,min,mid; double average; int i,j,n,t; scanf("%d",&n); while(n--) { for(i=0;i<7;i++) scanf("%d",&score[i]); sort(score,7); max=score[6]; min=score[0]; mid=score[3]; average=(max+min+mid)/3.0; printf("%.2lf\n",average); } return 0; } void sort(int score[],int m) { int i,j,t; for(j=0;j<m-1;j++) for(i=0;i<m-j-1;i++) if(score[i]>score[i+1]) { t=score[i]; score[i]=score[i+1]; score[i+1]=t; } } 错误信息如下: ./Source/main.cpp: In function 'void sort(int*, int)': ./Source/main.cpp:31: error: expected primary-expression before ']' token 正确代码: #include<stdio.h> int main() { //void sort(int score[],int m); int score[7]; int max,min,mid; double average; int i,j,n,t; scanf("%d",&n); while(n--) { for(i=0;i<7;i++) scanf("%d",&score[i]); for(j=0;j<6;j++) for(i=0;i<6-j;i++) if(score[i]>score[i+1]) { t=score[i]; score[i]=score[i+1]; score[i+1]=t; } //sort(score,7); max=score[6]; min=score[0]; mid=score[3]; average=(max+min+mid)/3.0; printf("%.2lf\n",average); } return 0; } /*void sort(int score[],int m) { int i,j,t; for(j=0;j<m-1;j++) for(i=0;i<m-j-1;i++) if(score[i]>score[i+1]) { t=score[i]; score[i]=score[i+1]; score[i+1]=t; } }*/