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;
}
相关推荐
zyl7656 小时前
FlashAttention 详解:从 GPU 硬件、普通 Attention 到分块计算与 Online Softmax
算法
爱读书的小胖10 小时前
LeetCode 122:买卖股票的最佳时机 II(C)解题分析
算法
结局无敌10 小时前
React Native for OpenHarmony 实战:三方库 react-native-modal-dialog 的鸿蒙化适配指南
深度学习·算法·react native·react.js·harmonyos
WJ.Polar10 小时前
Java封装、继承、多态
java·开发语言
摇滚侠10 小时前
Java 中如何表示负数,有符号和无符号的区别,补码的计算规则,char byte short int long 的范围
java·开发语言
OPEN-F10 小时前
ROS2系列教程:上位机建图与导航(原理综合)
算法·机器人
weixin_3077791310 小时前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
AI wins10 小时前
c++新增頭文件
c++
Shadow(⊙o⊙)11 小时前
仿muduo实现高并发服务器——事件就绪管理Channel.hpp
服务器·c++
爱读书的小胖11 小时前
Codewars:Rot13(C)解题分析
c语言·开发语言