题目:设计一个英雄的结构体,包括成员姓名,年龄,性别;创建结构体数组,数组中存放五名英雄。通过冒泡排序算法,将数组中的英雄按照年龄进行降序排序,最终打印排序后的结果。
{"刘备",23,"男"},
{"关羽",22,"男"},
{"张飞",20,"男"},
{"赵云",21,"男"},
{"貂蝉",19,"女"},
首先创建一个存放英雄属性的结构体
struct hero
{
string name;
int age;
string sex;
};
在主程序中填入数据
int main()
{
hero h[5]={
{"张飞",20,"男"},
{"刘备",23,"男"},
{"赵云",21,"男"},
{"关羽",22,"男"},
{"貂蝉",19,"女"}
};
};
创建排序函数
void paixu(hero h[5], int len)
{
for(int j=0;j<5;j++)
{
for (int i = 0; i < len-j; i++)
{
if (h[i].age < h[i + 1].age)
{
int temp = h[i + 1].age;
h[i + 1].age = h[i].age;
h[i].age = temp;
}
}
}
for (int i = 0; i < 5; i++)
{
cout << "姓名:" << h[i].name << " 性别:" << h[i].sex << " 年龄:" << h[i].age << endl;
}
}
在主程序中引用
int main()
{
hero h[5] = {
{"张飞",20,"男"},
{"刘备",23,"男"},
{"赵云",21,"男"},
{"关羽",22,"男"},
{"貂蝉",19,"女"}
};
int len = sizeof(h) / sizeof(h[0]);
paixu(h, len);
system("pause");
return 0;
}