有一个选修课的班级人数≤20,输入n表示参加选修考试的人数,然后输入n个数表示n个人的成绩,输出高于平均分的人对应的序号(下标)和成绩
可以从输入获取n个学生的成绩,计算平均分后,遍历学生成绩数组,将大于平均分的学生成绩及对应的序号下标打印即可。
代码如下:
#include <stdio.h>
int main(void){
double scores[20]; // 存储学生成绩的数组
int n,i=0;
double sum=0,avg=0;
scanf("%d",&n); // 获取学生人数
while(i<n){ // 从输入获取n个学生的成绩
scanf("%lf",&scores[i]);
sum+=scores[i]; // 将当前输入的学生成绩累加到分数总和sum中
i++;
}
if(n>0){ //如果学生人数大于0,则计算对应凭据分
avg=sum/n;
}
for(int i=0;i<n;i++){ // 遍历学生成绩数组
// 如果当前学生成绩大于平均分,则输出对应的下标序号与对应的学生成绩
if(scores[i]>avg){
printf("%d %.0f\n",i,scores[i]);
}
}
return 0;
}