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;
}
相关推荐
Asmalin5 小时前
【代码随想录day 35】 力扣 01背包问题 一维
算法·leetcode·职场和发展
剪一朵云爱着5 小时前
力扣2779. 数组的最大美丽值
算法·leetcode·排序算法
AA陈超5 小时前
虚幻引擎UE5专用服务器游戏开发-33 在上半身播放组合蒙太奇
c++·游戏·ue5·游戏引擎·虚幻
qq_428639615 小时前
虚幻基础:组件间的联动方式
c++·算法·虚幻
haogexiaole5 小时前
Java高并发常见架构、处理方式、api调优
java·开发语言·架构
张人玉5 小时前
C# 通讯关键类的API
开发语言·c#
深瞳智检5 小时前
YOLO算法原理详解系列 第002期-YOLOv2 算法原理详解
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪
froginwe115 小时前
R 数组:深入解析与高效使用
开发语言
tao3556675 小时前
【Python刷力扣hot100】283. Move Zeroes
开发语言·python·leetcode