|
VS2019
包含头文件
- #include <iostream>
- #include <string>
- using namespace std;
复制代码
定义6名英雄结构体--打乱英雄年龄--之后进行排序
英雄的结构体
- struct Hero
- {
- //姓名
- string name;
- //年龄
- int age;
- //性别
- string sex;
- };
复制代码
2:在main函数中
创建数组存放6名英雄
- struct Hero heroArray[6] =
- {
- {"刘备",23,"男"},
- {"关羽",25,"男"},
- {"张飞",38,"男"},
- {"赵云",26,"男"},
- {"黄总",36,"男"},
- {"貂蝉",27,"女"}
- };
复制代码
测试打印下有没有错误
- int len = sizeof(heroArray) / sizeof(heroArray[0]);
- for (int i = 0; i < len; i++)
- {
- cout << "姓名: " << heroArray[i].name << " 年龄:" << heroArray[i].age << " 性别:" << heroArray[i].sex << endl;
- }
复制代码
没错先注释下
3:- void Herosort(struct Hero heroArray[], int len)
- {
- for (int i = 0; i < len - 1; i++)
- {
- for (int j = 0; j < len - 1 - i; j++)
- {
- if (heroArray[j].age > heroArray[j + 1].age)
- {
- struct Hero temp = heroArray[j];
- heroArray[j] = heroArray[j + 1];
- heroArray[j + 1] = temp;
- }
- }
- }
- }
复制代码 继续写:按照英雄的年龄进行升序排序
4:打印输出所有英雄 并按照年龄进行升序排列
- void printHero(struct Hero heroArray[], int len)
- {
- cout << "排序后:" << endl;
- for (int i = 0; i < len; i++)
- {
- cout << "姓名: " << heroArray[i].name << " 年龄:" << heroArray[i].age << " 性别:" << heroArray[i].sex << endl;
- }
- }
复制代码
完整代码:
- #include <iostream>
- #include <string>
- using namespace std;
- //英雄的结构体
- struct Hero
- {
- //姓名
- string name;
- //年龄
- int age;
- //性别
- string sex;
- };
- //英雄排序
- void Herosort(struct Hero heroArray[], int len)
- {
- for (int i = 0; i < len - 1; i++)
- {
- for (int j = 0; j < len - 1 - i; j++)
- {
- if (heroArray[j].age > heroArray[j + 1].age)
- {
- struct Hero temp = heroArray[j];
- heroArray[j] = heroArray[j + 1];
- heroArray[j + 1] = temp;
- }
- }
- }
- }
- //打印所有英雄信息,并进行升序排序输出
- void printHero(struct Hero heroArray[], int len)
- {
- cout << "排序后:" << endl;
- for (int i = 0; i < len; i++)
- {
- cout << "姓名: " << heroArray[i].name << " 年龄:" << heroArray[i].age << " 性别:" << heroArray[i].sex << endl;
- }
- }
- int main()
- {
-
- //2.创建数组存放6名英雄
- struct Hero heroArray[6] =
- {
- {"刘备",23,"男"},
- {"关羽",25,"男"},
- {"张飞",38,"男"},
- {"赵云",26,"男"},
- {"黄总",36,"男"},
- {"貂蝉",27,"女"}
- };
- int len = sizeof(heroArray) / sizeof(heroArray[0]);
- cout << "排序前:" << endl;
- for (int i = 0; i < len; i++)
- {
- cout << "姓名: " << heroArray[i].name << " 年龄:" << heroArray[i].age << " 性别:" << heroArray[i].sex << endl;
- }
- Herosort(heroArray, len);
- //打印所有英雄信息,并进行升序排序输出
- printHero(heroArray, len);
- system("pause");
- return 0;
- }
复制代码
|
上一篇: c++结构体实例(实战练手)加深理解下一篇: c++文件操作练手记录
|