代码如下:
#include
#include
using namespace std;
int main()
{
//输入姓名和成绩
string name[5];
//假设有五个学生
int grade[5];
int i, j, k;
for (i = 0; i < 5; i++)
{
cout << “请输入学生的姓名:”<<" “;
cin >> name[i];
cout << “请输入该学生的成绩:”;
cin >> grade[i];
cout << endl;
}
//用冒泡算法排序
for (int i = 0; i < 4; i++)
{
for ( j = 0; j < 4 - i + 1; j++)//第二层循环的次数是关键 它决定进行几轮冒泡
{
if (grade[j] < grade[j + 1])//如果前面的小于后面的
{
//成绩交换
{int value;
value = grade[i];
grade[i] = grade[i + 1];
grade[i + 1] = value; }
//储存名字的字符串数组跟着一起交换
{string Name;
Name = name[i];
name[i] = name[i + 1];
name[i + 1] = Name; }
}
}
}
for (k = 0; k < 5; k++)
{
cout << name[k] << " " << “成绩为” << " " << grade[k] << endl;
cout << “该学生的名次为:”<<” "<<“第” << k+1 <<“名”<< endl;
}
system(“pause”);
}
运行结果如下:VS2017+WIN10+C++
版权声明:本文为weixin_41903414原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。