C++跪求高人给我检查检查!一个简单的排成绩的程序

2025-04-14 08:22:24
推荐回答(2个)
回答(1):

你的数据输入没错
但感觉你的排序写错了
我给了三组数据
1 1 1
2 2 2
3 3 3
结果却错了

排序从小到大
for(int i=1; i<3; i++)
{
Student key = S[i];
int j=0;
while((S[j].countTotal()<=key.countTotal())&&(j for(int k=i;k>j;k--)
{
S[k] = S[k-1];
}
S[j] = key;
}

回答(2):

我给你测试了一下,感觉没有任何问题。你可能是输入的时候格式不对。
你要先输入学号,然后回车,再输入两个成绩,两个成绩中间用空格分隔(或者回车也行)。

这个是我做的结果:

请输入第1个学生的学号:56
请输入此学生的英语及计算机成绩:96 98
请输入第2个学生的学号:54
请输入此学生的英语及计算机成绩:86 90
请输入第3个学生的学号:86
请输入此学生的英语及计算机成绩:99 99
第1名的学生学号是86总分是198
第2名的学生学号是56总分是194
第3名的学生学号是54总分是176
Hello World!