已知5个学生4门课的成绩,要求求出每个学生的平均成绩,然后对平均成绩从高到低将各学生的成绩记录排序(成绩最高的学生排在数组最前面的行,成绩最低的学生排在数组最后面的行)
1条回答 默认 最新
关注 #include <stdio.h> #include <stdlib.h> struct student { char name[50]; float grades[4]; float average; }; void sort(struct student *students, int n) { int i, j; struct student temp; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (students[j].average < students[j + 1].average) { temp = students[j]; students[j] = students[j + 1]; students[j + 1] = temp; } } } } int main() { int i, j; struct student students[5]; for (i = 0; i < 5; i++) { printf("请输入第%d个学生的姓名:", i + 1); scanf("%s", students[i].name); for (j = 0; j < 4; j++) { printf("请输入第%d个学生的第%d门课程成绩:", i + 1, j + 1); scanf("%f", &students[i].grades[j]); students[i].average += students[i].grades[j]; } students[i].average /= 4; } sort(students, 5); printf("排序后的学生信息:\n"); for (i = 0; i < 5; i++) { printf("%d. %s 平均成绩:%.2f\n", i + 1, students[i].name, students[i].average); } return EXIT_SUCCESS; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
- ¥15 气象网格数据与卫星轨道数据如何匹配
- ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
- ¥15 微软账户问题不小心注销了好像
- ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
- ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
- ¥20 关于web前端如何播放二次加密m3u8视频的问题
- ¥15 使用百度地图api 位置函数报错?
- ¥15 metamask如何添加TRON自定义网络
- ¥66 关于川崎机器人调速问题