输入姓名和成绩并排序输出
#include<iostream>
using namespace std;
typedef struct {
string mingZi;
int chengJi;
}number;
int main()
{
int i = 0;
number students[1000];
cin >> students[i].mingZi >> students[i].chengJi;
while (students[i].mingZi[0] != '!') {//输入'!'终止输入
//输入姓名成绩
cin >> students[++i].mingZi >> students[i].chengJi;
//进行排序
if (i > 0) {
number t;
for (int j = i; j > 0; j--)
if (students[j].chengJi > students[j - 1].chengJi) {
t = students[j];
students[j] = students[j - 1];
students[j - 1] = t;
}
}
}
//第i个是存放终止输入'!'和无意义成绩,不输出
for (int j = 0; j < i; j++)
cout << students[j].mingZi << " " << students[j].chengJi << endl;
return 0;
}
输入:
liming 80
lihua 60
wanggang 50
zhangyan 90
zhangsan 100
! 11
输出:
zhangsan 100
zhangyan 90
liming 80
lihua 60
wanggang 50
这是一个C++程序,用于输入姓名和对应的成绩,然后进行升序排序并输出。用户通过输入'!'和无意义成绩来结束输入。程序实现了简单的冒泡排序算法,并在结束后打印所有学生的姓名和成绩。
1万+

被折叠的 条评论
为什么被折叠?



