1、思维导图
2、定义一个Student结构体,里面的成员有公有成员name、age,私有成员:score,从堆区连续分配3个结构体大小的空间,从键盘上输入3个学生的信息,分别存放到对应的位置上,按成绩的升序排序后输出三名学生的信息。
#include <iostream>
using namespace std;
struct student
{
public:
string name;
int age;
private:
int score;
public:
void set()
{
cin >> score;
}
int show()
{
return score;
}
};
void bubblesort(student*& stu)
{
for (int i = 1; i < 3; i ++) {
for (int j = 0; j < 3-i; j ++) {
if(stu[j].show() >= stu[j+1].show())
swap(stu[j],stu[j+1]);
}
}
}
int main()
{
student* stu = new student [3];
for(int i = 0; i < 3; i++)
{
printf("input name\n");
getline(cin,stu[i].name);
printf("input age\n");
cin >> stu[i].age;
printf("input score");
stu[i].set();
getchar();
}
student*& res = stu;
bubblesort(res);
for(int i = 0; i < 3; i ++)
{
cout << "name = " << stu[i].name << " age = " << stu[i].age << " score = " << stu[i].show() << endl;
}
delete [] stu;
return 0;
}