C++(10.5)

B A C D A B C C A B

40 3715 358 1523 5 4 8 2 0 13

cs 复制代码
#include <stdio.h>

int main() {
    float scores[10];  // 存储10个学生成绩
    int i, max_idx = 0;  // max_idx记录最高分序号
    float max_score;

    // 输入成绩
    printf("请输入10个学生的成绩:\n");
    for (i = 0; i < 10; i++) {
        scanf("%f", &scores[i]);
    }

    // 初始化最高分
    max_score = scores[0];

    // 查找最高分及序号
    for (i = 1; i < 10; i++) {
        if (scores[i] > max_score) {
            max_score = scores[i];
            max_idx = i;
        }
    }

    // 输出结果(序号从1开始)
    printf("最高成绩为:%.1f,对应序号为:%d\n", max_score, max_idx + 1);
    return 0;
}
cs 复制代码
#include <stdio.h>

#define STUDENT 5  // 学生数
#define COURSE 4   // 课程数

int main() {
    float scores[STUDENT][COURSE];  // 成绩数组
    float stu_avg[STUDENT] = {0};   // 学生平均分
    float course_avg[COURSE] = {0}; // 课程平均分
    int i, j;

    // 输入成绩
    printf("请输入%d个学生的%d门课程成绩(按行输入):\n", STUDENT, COURSE);
    for (i = 0; i < STUDENT; i++) {
        for (j = 0; j < COURSE; j++) {
            scanf("%f", &scores[i][j]);
            course_avg[j] += scores[i][j];  // 累加课程总分
            stu_avg[i] += scores[i][j];     // 累加学生总分
        }
        stu_avg[i] /= COURSE;  // 计算学生平均分
    }

    // 计算课程平均分
    for (j = 0; j < COURSE; j++) {
        course_avg[j] /= STUDENT;
    }

    // 输出课程平均分
    printf("\n各门课程的平均成绩:\n");
    for (j = 0; j < COURSE; j++) {
        printf("课程%d:%.1f  ", j + 1, course_avg[j]);
    }
    printf("\n");

    // 按学生平均分从高到低排序(冒泡排序)
    for (i = 0; i < STUDENT - 1; i++) {
        for (j = 0; j < STUDENT - 1 - i; j++) {
            if (stu_avg[j] < stu_avg[j + 1]) {
                // 交换学生平均分
                float temp_avg = stu_avg[j];
                stu_avg[j] = stu_avg[j + 1];
                stu_avg[j + 1] = temp_avg;
                // 交换对应学生的所有成绩
                for (int k = 0; k < COURSE; k++) {
                    float temp_score = scores[j][k];
                    scores[j][k] = scores[j + 1][k];
                    scores[j + 1][k] = temp_score;
                }
            }
        }
    }

    // 输出排序后的学生成绩及平均分
    printf("\n按学生平均分排序(从高到低):\n");
    for (i = 0; i < STUDENT; i++) {
        printf("学生%d成绩:", i + 1);
        for (j = 0; j < COURSE; j++) {
            printf("%.1f ", scores[i][j]);
        }
        printf("平均:%.1f\n", stu_avg[i]);
    }

    return 0;
}
相关推荐
hh随便起个名6 小时前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
橘子真甜~6 小时前
C/C++ Linux网络编程15 - 网络层IP协议
linux·网络·c++·网络协议·tcp/ip·计算机网络·网络层
小浣熊熊熊熊熊熊熊丶6 小时前
《Effective Java》第25条:限制源文件为单个顶级类
java·开发语言·effective java
啃火龙果的兔子6 小时前
JDK 安装配置
java·开发语言
星哥说事6 小时前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
等....7 小时前
Miniconda使用
开发语言·python
zfj3217 小时前
go为什么设计成源码依赖,而不是二进制依赖
开发语言·后端·golang
醇氧7 小时前
org.jetbrains.annotations的@Nullable 学习
java·开发语言·学习·intellij-idea
Java&Develop7 小时前
Aes加密 GCM java
java·开发语言·python
weixin_462446237 小时前
使用 Go 实现 SSE 流式推送 + 打字机效果(模拟 Coze Chat)
开发语言·后端·golang