#include<iostream>
#include<string>
using namespace std;
struct hero
{
//姓名
string name;
//年龄
int age;
//性别
string sex;
};
//用函数输入信息
void sj(struct hero hArray[5], int len)
{
hArray[0].name = "刘备"; hArray[0].age = 23; hArray[0].sex = "男";
hArray[1].name = "关羽"; hArray[1].age = 22; hArray[1].sex = "男";
hArray[2].name = "张飞"; hArray[2].age = 20; hArray[2].sex = "男";
hArray[3].name = "赵云"; hArray[3].age = 21; hArray[3].sex = "男";
hArray[4].name = "貂蝉"; hArray[4].age = 19; hArray[4].sex = "女";
}
//用循环函数打印结果
void print(struct hero hArray[5], int len)
{
for (int i = 0; i < 5; i++)
{
cout <<" 英雄姓名;" <<hArray[i].name<< " 英雄年龄;" << hArray[i].age << " 英雄性别;" << hArray[i].sex << endl;
}
}
int main()
{
struct hero hArray[5];
//用函数进行冒泡排序
int len = sizeof(hArray) / sizeof(hArray[0]);
for (int i = 0; i < len; i++)
{
for (int j = 0; j < len - i - 1; j++)
{
if(hArray[j].age>hArray[i+1].age)
{
struct hero temp = hArray[j];
hArray[j] = hArray[j + 1];
hArray[j + 1] = temp;
}
}
}
print(hArray, len);
return(0);
}
我的错误输出为
英雄姓名; 英雄年龄;-858993460 英雄性别;
英雄姓名; 英雄年龄;-858993460 英雄性别;
英雄姓名; 英雄年龄;-858993460 英雄性别;
英雄姓名; 英雄年龄;-858993460 英雄性别;
英雄姓名; 英雄年龄;-858993460 英雄性别;