代码
#include <iostream>
using namespace std;
struct student
{
private:
string name[20];
private:
int number;
private:
double arr[20];
public:
void setnumber()
{
cout << "请输入要学生人数:";
cin >> number;
while(getchar() != 10);
}
public:
void input()
{
for(int i = 0;i < number;i++)
{
cout << "请输入学生姓名:";
getline(cin,name[i]);
cout << "请输入学生成绩:";
cin >> arr[i];
while(getchar() != 10);
}
}
public:
void sort()
{
double temp;
string temp_name;
int pai;
cout << "请选择排序的方式(0 降序,1 升序):";
cin >> pai;
while(getchar() != 10);
for(int i = 1;i < number;i++)
{
for(int j = 0;j < number-i;j++)
{
if(pai == 0)
{
if(arr[j] < arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
temp_name = name[j];
name[j] = name[j+1];
name[j+1] = temp_name;
}
}
else
{
if(arr[j] > arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
temp_name = name[j];
name[j] = name[j+1];
name[j+1] = temp_name;
}
}
}
}
}
public:
void show()
{
for(int i = 0;i < number;i++)
{
cout << name[i] << "的成绩是:" << arr[i] << endl;
}
}
};
int main()
{
student s;
s.setnumber();
s.input();
s.sort();
s.show();
return 0;
}
运行结果
思维导图