exvyme
2025-04-18T09:21:52+00:00
这个代码大概的主要功能就是个输入每个同学所考分数,计算总和,用冒泡法由高到低排序,再说出哪个分段是哪位同学(其他表达也许有误)
#include <stdio.h>
int main() {
int i, j, t;
int a[4][5], s[4] = {0}, index[4];
// 输入学生成绩
for (i = 0; i < 4; i++) {
printf("请输入第%d同学的成绩:\n", i + 1);
for (j = 0; j < 5; j++)
scanf("%d", &a[j]);
}
// 计算每个学生的总分
for (i = 0; i < 4; i++)
for (j = 0; j < 5; j++)
s += a[j];
// 初始化索引数组
for (i = 0; i < 4; i++)
index = i;
printf("总分分别是:\n");
for (i = 0; i < 4; i++)
printf("%5d", s);
printf("\n");
// 冒泡排序并同步交换索引
for (i = 0; i < 3; i++) {
for (j = 0; j < 3 - i; j++) {
if (s[j] > s[j + 1]) {
// 交换总分
t = s[j];
s[j] = s[j + 1];
s[j + 1] = t;
// 交换索引
int temp = index[j];
index[j] = index[j + 1];
index[j + 1] = temp;
}
}
}
// 输出排序结果及对应学号
printf("按总分排序后的结果及学生序号:\n");
for (i = 0; i < 4; i++)
printf("学生%d 总分:%5d\n", index + 1, s);
return 0;
}
#include <stdio.h>
int main() {
int i, j, t;
int a[4][5], s[4] = {0}, index[4];
// 输入学生成绩
for (i = 0; i < 4; i++) {
printf("请输入第%d同学的成绩:\n", i + 1);
for (j = 0; j < 5; j++)
scanf("%d", &a[j]);
}
// 计算每个学生的总分
for (i = 0; i < 4; i++)
for (j = 0; j < 5; j++)
s += a[j];
// 初始化索引数组
for (i = 0; i < 4; i++)
index = i;
printf("总分分别是:\n");
for (i = 0; i < 4; i++)
printf("%5d", s);
printf("\n");
// 冒泡排序并同步交换索引
for (i = 0; i < 3; i++) {
for (j = 0; j < 3 - i; j++) {
if (s[j] > s[j + 1]) {
// 交换总分
t = s[j];
s[j] = s[j + 1];
s[j + 1] = t;
// 交换索引
int temp = index[j];
index[j] = index[j + 1];
index[j + 1] = temp;
}
}
}
// 输出排序结果及对应学号
printf("按总分排序后的结果及学生序号:\n");
for (i = 0; i < 4; i++)
printf("学生%d 总分:%5d\n", index + 1, s);
return 0;
}
