编程,使用数组完成。功能如下:
1输入6个学生成绩及学号;
2找出最高分、最低分的学生学号及成绩;
3 求出全班平均分
4求出全班高于平均分的学生人数
代码如下,请参考:
#include <stdio.h>
typedef struct Student {
int stuId; // 学号
float score; // 成绩
}STU;
int main(int argc, const char * argv[]) {
// 1、输入6个学生成绩及学号;
printf("请输入学生成绩和学号\n");
STU stus[6];
int len = 6;
for (int i = 0; i < len; i++) {
printf("成绩 学号\n");
STU st;
scanf("%f %d", &st.score, &st.stuId);
stus[i] = st;
}
// 2、找出最高分、最低分的学生学号及成绩;
STU minS = stus[0];
STU maxS = stus[0];
for (int i = 1; i < len; i++) {
STU s = stus[i];
if (minS.score > s.score) {
minS = s;
}
if (maxS.score < s.score) {
maxS = s;
}
}
printf("最低分:%.2f, 学号:%d\n最高分:%.2f, 学号:%d\n", minS.score, minS.stuId, maxS.score, maxS.stuId);
// 3、求出全班平均分
float sum = 0;
for (int i = 0; i < len; i++) {
STU s = stus[i];
sum += s.score;
}
float avg = sum / len;
printf("平均分:%.2f\n", avg);
// 4、求出全班高于平均分的学生人数
int nums = 0;
for (int i = 0; i < len; i++) {
STU s = stus[i];
if (s.score > avg) {
nums++;
}
}
printf("高于平均分人数:%d\n", nums);
return 0;
}