C语言实现运动会多校项目成绩统计与排序系统
#include <stdio.h> #include <string.h> #define MAX_SCHOOLS 20 #define MAX_PROJECTS 20 #define MAX_NAME_LENGTH 20 // 定义学校结构体 typedef struct { int school_id; char school_name[MAX_NAME_LENGTH]; int score_male[MAX_PROJECTS]; int score_female[MAX_PROJECTS]; int total_score; } School; // 初始化学校信息 void initializeSchools(School schools[], int n) { for (int i = 0; i < n; i++) { schools[i].school_id = i + 1; printf("请输入第 %d 个学校的名称:", i + 1); scanf("%s", schools[i].school_name); schools[i].total_score = 0; } } // 输入各个项目的前三名或前五名的成绩 void inputScores(School schools[], int n, int m, int w) { for (int i = 0; i < n; i++) { printf("请输入学校 %s 的男子项目成绩:\n", schools[i].school_name); for (int j = 0; j < m; j++) { printf("请输入男子项目 %d 的成绩:", j + 1); scanf("%d", &schools[i].score_male[j]); } printf("请输入学校 %s 的女子项目成绩:\n", schools[i].school_name); for (int j = 0; j < w; j++) { printf("请输入女子项目 %d 的成绩:", j + 1); scanf("%d", &schools[i].score_female[j]); } } } // 统计各学校总分 void calculateTotalScores(School schools[], int n, int m, int w) { for (int i = 0; i < n; i++) { schools[i].total_score = 0; for (int j = 0; j < m; j++) { if (schools[i].score_male[j] <= 5) { if (schools[i].score_male[j] == 1) { schools[i].total_score += 7; } else if (schools[i].score_male[j] == 2) { schools[i].total_score += 5; } else if (schools[i].score_male[j] == 3) { schools[i].total_score += 3; } else if (schools[i].score_male[j] == 4) { schools[i].total_score += 2; } else if (schools[i].score_male[j] == 5) { schools[i].total_score += 1; } } } for (int j = 0; j < w; j++) { if (schools[i].score_female[j] <= 5) { if (schools[i].score_female[j] == 1) { schools[i].total_score += 7; } else if (schools[i].score_female[j] == 2) { schools[i].total_score += 5; } else if (schools[i].score_female[j] == 3) { schools[i].total_score += 3; } else if (schools[i].score_female[j] == 4) { schools[i].total_score += 2; } else if (schools[i].score_female[j] == 5) { schools[i].total_score += 1; } } } } } // 按学校编号排序输出 void sortBySchoolId(School schools[], int n) { // 排序代码 } // 按学校名称排序输出 void sortBySchoolName(School schools[], int n) { // 排序代码 } // 按学校总分排序输出 void sortByTotalScore(School schools[], int n) { // 排序代码 } // 输出学校信息 void printSchoolInfo(School schools[], int n) { for (int i = 0; i < n; i++) { printf("学校编号:%d, 学校名称:%s, 总分:%d\n", schools[i].school_id, schools[i].school_name, schools[i].total_score); } } int main() { int n, m, w; printf("请输入学校数量:"); scanf("%d", &n); School schools[MAX_SCHOOLS]; initializeSchools(schools, n); printf("请输入男子项目数量:"); scanf("%d", &m); printf("请输入女子项目数量:"); scanf("%d", &w); inputScores(schools, n, m, w); calculateTotalScores(schools, n, m, w); printSchoolInfo(schools, n); return 0; } ######[AI写代码神器 | 2436点数解答 | 2024-09-06 23:39:37]
- C 语言:快速实现 5 个学生信息录入、按成绩升序排序并输出!(字节豆包 | 373点数解答 | 2024-10-30 00:37:20)426
- C语言实现:输入5名学生信息并按成绩升序排序输出(字节豆包 | 354点数解答 | 2024-10-30 18:45:58)371
- C语言:输入5个学生信息,按成绩升序排序并输出(字节豆包 | 373点数解答 | 2024-10-31 19:49:58)366
- C语言:输入5名学生信息并按成绩升序排序输出(字节豆包 | 326点数解答 | 2025-01-01 20:11:47)363
- 成绩等级统计:20个60 - 100分成绩的等级数量揭秘(字节豆包 | 219点数解答 | 2025-04-09 10:20:32)237
- 培训机构学员成绩与年龄更新:C++ 代码实现(DeepSeek | 186点数解答 | 2025-12-16 18:04:31)79
- Python 处理培训机构学员培训后年龄与 NOIP 成绩提升情况(DeepSeek | 73点数解答 | 2025-12-16 18:05:20)83
- 培训机构学员成绩提升:C++代码实现年龄与NOIP成绩更新(DeepSeek | 178点数解答 | 2025-12-31 12:20:24)75
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371
- 阳光赛场激情燃,运动会开启拼搏盛宴!(字节豆包 | 264点数解答 | 2025-08-28 14:21:18)85
- C++ 实现学生成绩统计:最高分、最低分、不及格与优秀人数计算(字节豆包 | 489点数解答 | 2026-04-12 10:09:58)11
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)343