用c语言设全班同学有10人,提示输入所有人的成绩后,完成以下操作: (1)统计并输出平均分和最高分、最低分 (2)找出在这10个成绩中超过平均值的那些数字并打印出来。 (3)输入一个学号,查询或修改该同学的成绩
时间: 2024-05-05 12:19:34 浏览: 158
Sure, 我可以回答这个问题。下面是 C 语言的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_STUDENTS 10
int main() {
int scores[MAX_STUDENTS];
int i;
float avg = 0.0;
int max = -1, min = 101; //初始化最高分为-1,最低分为101
printf("请输入%d个学生的成绩:\n", MAX_STUDENTS);
for (i = 0; i < MAX_STUDENTS; i++) {
scanf("%d", &scores[i]);
avg += scores[i];
if (scores[i] > max) max = scores[i];
if (scores[i] < min) min = scores[i];
}
avg /= MAX_STUDENTS;
printf("平均分为:%.2f, 最高分为:%d, 最低分为:%d\n", avg, max, min);
printf("超过平均分的成绩有:\n");
for (i = 0; i < MAX_STUDENTS; i++) {
if (scores[i] > avg) printf("%d ", scores[i]);
}
printf("\n");
// 查询或修改某位同学的成绩
int id, option;
printf("请输入学生的学号(1-%d):\n", MAX_STUDENTS);
scanf("%d", &id);
printf("请输入要进行的操作:1.查询 2.修改\n");
scanf("%d", &option);
if (id < 1 || id > MAX_STUDENTS) {
printf("输入的学号不在范围内!\n");
exit(1);
}
if (option == 1) {
printf("该学生的成绩为:%d\n", scores[id-1]);
}
else if (option == 2) {
int newScore;
printf("请输入新的成绩:\n");
scanf("%d", &newScore);
scores[id-1] = newScore;
printf("修改后的成绩为:%d\n", scores[id-1]);
}
else {
printf("输入的选项不在范围内!\n");
exit(1);
}
return 0;
}
```
希望这个程序可以帮助到你~
阅读全文