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;
}