点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 3 条评论

7月前 回复TA
for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            // 判断学生成绩大小,如果总成绩相同则比较语文成绩,再比较学号
            if (students[j].chin + students[j].math + students[j].eng > students[i].chin + students[i].math + students[i].eng ||
                (students[j].chin + students[j].math + students[j].eng == students[i].chin + students[i].math + students[i].eng &&
                 students[j].chin > students[i].chin) ||
                (students[j].chin + students[j].math + students[j].eng == students[i].chin + students[i].math + students[i].eng &&
                 students[j].chin
7月前 回复TA
@李 for (int i = 0; i < n; i++) {         for (int j = i + 1; j < n; j++) {             // 判断学生成绩大小,如果总成绩相同则比较语文成绩,再比较学号             if (students[j].chin + students[j].math + students[j].eng > students[i].chin + students[i].math + students[i].eng ||                 (students[j].chin + students[j].math + students[j].eng == students[i].chin + students[i].math + students[i].eng &&                  students[j].chin > students[i].chin) ||                 (students[j].chin + students[j].math + students[j].eng == students[i].chin + students[i].math + students[i].eng &&                  students[j].chin == students[i].chin && students[j].id < students[i].id)) {                 // 交换学生成绩                 struct Student temp = students[i];                 students[i] = students[j];                 students[j] = temp;             }         }     }      // 输出前五名学生成绩     printf("前五名学生成绩为:\n");     for (int i = 0; i < (n < 5 ? n : 5); i++) {         printf("学号:%d 语文:%d 数学:%d 英语:%d 总成绩:%d\n",              students[i].id, students[i].chin, students[i].math, students[i].eng,              students[i].chin + students[i].math + students[i].eng);     }      return 0; }
7月前 回复TA
为什么我的不行明明运行成功了#include <stdio.h>
#include <stdio.h>

// 定义学生结构体
struct Student {
    int id;  // 学号
    int chin;  // 语文成绩
    int math;  // 数学成绩
    int eng;  // 英语成绩
};

int main() {
    int n;

    // 输入学生数量
    printf("请输入学生数量: ");
    scanf("%d", &n);

    // 定义并初始化存储学生信息的结构体数组
    struct Student students[n];
    for (int i = 0; i < n; i++) {
        printf("请输入第%d个学生的学号、语文成绩、数学成绩、英语成绩: ", i + 1);
        scanf("%d %d %d %d", &students[i].id, &students[i].chin, &students[i].math, &students[i].eng);
    }

    // 排序学生成绩
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j