一个班有N个学生,成绩表如下。用C语言编程实现成绩管理,要求用函数实现相关功能。 姓名 数学 外语 计算机 平圴分 zhang3 98 77 88 li4 88 90 99 wang5 67 76 66 guan6 66 77 77 ... ... ... ... 最高分 平均分 (1)输入这N个学生的每门课程的成绩; (2)完成表格计算功能:计算每个学生的平均成绩,计算每门课的平均成绩,找出每门课的最高分; (3)找出成绩不及格的学生,输出相关信息。
时间: 2024-03-18 20:40:02 浏览: 199
好的,下面是用C语言实现的成绩管理代码,同样使用了函数:
```c
#include<stdio.h>
#define N 4 // 学生人数
#define M 3 // 课程数
// 定义学生列表和课程列表
char* students[N] = {"zhang3", "li4", "wang5", "guan6"};
char* courses[M] = {"数学", "外语", "计算机"};
// 定义成绩列表
int scores[N][M];
// 输入每个学生的成绩
void input_scores() {
for(int i = 0; i < N; i++) {
printf("请输入%s的成绩:\n", students[i]);
for(int j = 0; j < M; j++) {
scanf("%d", &scores[i][j]);
}
}
}
// 计算每个学生的平均成绩
double avg_score_of_student(int student_index) {
int total = 0;
for(int j = 0; j < M; j++) {
total += scores[student_index][j];
}
return (double)total / M;
}
// 计算每门课的平均成绩
double avg_score_of_course(int course_index) {
int total = 0;
for(int i = 0; i < N; i++) {
total += scores[i][course_index];
}
return (double)total / N;
}
// 找出每门课的最高分
int max_score_of_course(int course_index) {
int max_score = scores[0][course_index];
for(int i = 1; i < N; i++) {
if(scores[i][course_index] > max_score) {
max_score = scores[i][course_index];
}
}
return max_score;
}
// 找出成绩不及格的学生
void find_fail_students() {
int has_fail_student = 0;
printf("成绩不及格的学生是:\n");
for(int i = 0; i < N; i++) {
if(scores[i][0] < 60 || scores[i][1] < 60 || scores[i][2] < 60) {
has_fail_student = 1;
printf("%s\n", students[i]);
}
}
if(!has_fail_student) {
printf("没有成绩不及格的学生!\n");
}
}
// 主函数
int main() {
input_scores();
// 计算每个学生的平均成绩并输出
printf("每个学生的平均成绩:\n");
for(int i = 0; i < N; i++) {
printf("%s的平均成绩为:%.2f\n", students[i], avg_score_of_student(i));
}
// 计算每门课的平均成绩并输出
printf("每门课的平均成绩:\n");
for(int j = 0; j < M; j++) {
printf("%s的平均成绩为:%.2f\n", courses[j], avg_score_of_course(j));
}
// 找出每门课的最高分并输出
printf("每门课的最高分:\n");
for(int j = 0; j < M; j++) {
printf("%s的最高分为:%d\n", courses[j], max_score_of_course(j));
}
// 找出成绩不及格的学生并输出
find_fail_students();
return 0;
}
```
在C语言中,我们使用了字符指针数组来存储学生列表和课程列表,使用二维数组来存储成绩列表。然后我们定义了输入成绩、计算平均成绩和最高分、查找不及格学生等函数,最后在主函数中调用这些函数实现成绩管理。
阅读全文