C语言结构体应用:统计学生成绩并输出最高分学生姓名
#include <stdio.h> #include <string.h>
#define MAX_NAME_LEN 20 #define MAX_NUM_STUDENT 30
struct student { char name[MAX_NAME_LEN]; int c1; int c2; };
int main() { struct student students[MAX_NUM_STUDENT]; int i, max_c1 = 0, max_c2 = 0; char name_c1[MAX_NAME_LEN] = "", name_c2[MAX_NAME_LEN] = "";
for (i = 0; i < MAX_NUM_STUDENT; i++) {
printf("请输入第%d个学生的姓名、c1成绩、c2成绩:", i+1);
scanf("%s %d %d", students[i].name, &students[i].c1, &students[i].c2);
if (students[i].c1 > max_c1) {
max_c1 = students[i].c1;
strcpy(name_c1, students[i].name);
} else if (students[i].c1 == max_c1) {
strcat(name_c1, " ");
strcat(name_c1, students[i].name);
}
if (students[i].c2 > max_c2) {
max_c2 = students[i].c2;
strcpy(name_c2, students[i].name);
} else if (students[i].c2 == max_c2) {
strcat(name_c2, " ");
strcat(name_c2, students[i].name);
}
}
printf("课程c1最高分%d分别是:%s\n", max_c1, name_c1);
printf("课程c2最高分%d分别是:%s\n", max_c2, name_c2);
return 0;
}
原文地址: https://www.cveoy.top/t/topic/nemV 著作权归作者所有。请勿转载和采集!