利用C++写一个三国人物英雄按年龄排序的案例
结构体案例
学习目标:
理解并实现冒泡排序算法,加强写方法的好习惯,理解结构体数组及地址传递
案例描述:
设计一个英雄的结构体,包括成员姓名,年龄,性别;创建结构体数组,数组中存放5名英雄。
通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。
五名英雄信息如下:
{“刘备”,23,“男”},
{“关羽”,22,“男”},
{“张飞”,20,“男”},
{“赵云”,21,“男”},
{“貂蝉”,19,“女”},
实现代码:
#include <iostream>
#include <string>using namespace std;struct hero
{string name;int age;string sex;
};void allocateSpace(hero heroarr[], int heroarrlength)
{string heroname[] = { "刘备","关羽","张飞","赵云","貂蝉" };int heroage[] = { 23,22,20,21,19 };string herosex[] = { "男","男","男","男","女" };for (int i = 0; i < heroarrlength; i++){heroarr[i].name = heroname[i];heroarr[i].age = heroage[i];heroarr[i].sex = herosex[i];}
}void BubbleSort(hero heroarr[], int heroarrlength)
{for (int i = 0; i < heroarrlength - 1; i++){for (int j = 0; j < heroarrlength - 1 - i; j++){if (heroarr[j].age > heroarr[j + 1].age){struct hero temp1 = heroarr[j];heroarr[j] = heroarr[j + 1];heroarr[j + 1] = temp1;}}}
}void printdate(hero heroarr[], int heroarrlength)
{cout << "按年龄冒泡排升序后,输出如下:" << endl;for (int i = 0; i < heroarrlength; i++){cout << "英雄名字:" << heroarr[i].name << " "<< "英雄年龄:" << heroarr[i].age << " "<< "英雄性别:" << heroarr[i].sex << endl;}
}int main()
{struct hero heroarr[5];int heroarrlength = sizeof(heroarr) / sizeof(heroarr[0]);allocateSpace(heroarr, heroarrlength);BubbleSort(heroarr, heroarrlength);printdate(heroarr, heroarrlength);system("pause");return 0;
}
运行结果:
利用C++写一个三国人物英雄按年龄排序的案例相关推荐
- 利用Flutter写一个跨平台的果核APP(4)——数据存储
前言 目前我们已经实现了几个界面,今天这篇文章开始着手进行登录页的制作,主要流程就是获取输入框中的内容,发送给后台进行验证,如果成功将返回信息保存在本地并跳转至首页,如果失败就提示用户重新输入. 在这 ...
- 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装
在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...
- 简单的面向对象思想,写一个传奇人物的属性
简单的面向对象思想,写一个传奇人物的属性 package com.hz.game;import java.util.Random;/*** //hat,weapon,necklace,ring,clo ...
- 利用python写一个简单的双色球彩票系统
利用python写一个简单的双色球彩票系统 1.设置每次买的号码一样 写一个双色球彩票系统,系统可以随机产生一组数据,一组彩票数据有六位数,这六位数的的取值范围是0和1. 一张彩票是两块钱,用户可以选 ...
- python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密
原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...
- 利用Cocos2d-x写一个程序读取传奇wzl文件
Cocos2d-x是一个用于游戏开发的开源框架,它提供了用于制作2D游戏的工具和功能.若要利用Cocos2d-x读取传奇wzl文件,需要对wzl文件的格式进行分析,并使用Cocos2d-x提供的读取文 ...
- 利用itchat写一个聊天机器人
利用itchat写一个聊天机器人 聊天机器人 图灵机器人 需要的库 **自动回复私聊消息** **自动回复群聊消息** 结语: 聊天机器人 偶然在CSDN上看到大佬用20行教你写一个聊天机器人,觉得甚 ...
- 利用Flutter写一个跨平台的果核APP(0)——介绍
前言 今年2月的时候,Google在开发者大会上推出了flutter的第一个预览版,我是在3月左右的时候才了解到这个全新的跨平台框架,并在阅读了相关文档之后写了一篇<你好,Flutter> ...
- 【c语言写计算器】利用函数写一个计算器 包括菜单功能和加减乘除四个功能
/*利用函数写一个计算器 包括菜单功能和加减乘除四个功能 作者:NBDR_YL*/ #include<stdio.h>int mean(void); //声明菜单的函数 float add ...
最新文章
- awk中的NR和FNR
- Xamarin SQLite教程数据库访问与生成
- 搞懂分布式技术16:浅谈分布式锁的几种方案
- LeetCode 213 House Robber II Python
- 阅读目录(置顶)(长期科技领域知识)
- Linux添加用户并赋予/取消管理员权限
- OAuth2.0(基于django2.1.2实现版本)
- C#两路list数组归并去重
- 用php写一个user类,使用php怎么编写一个用户查询类
- 管理员取得所有权限.reg
- html可视区高度,你真的懂js获取可视区宽高吗
- 软考:数据库系统工程师
- Dreamweaver cs6 网页设计教程笔记
- Openwrt GCC 7.5编译sanitizer_internal_defs.h错误
- c#语言模拟键盘输入,C#模拟键盘按键的三种方式实现
- 不带www的域名强制跳转到www域名,Nginx服务器rewrite重写
- 第六期 自定义IP添加-PWM 基于ARTY A7的MicroBlaze系统搭建与应用
- MOSFET原理学习
- clean kernel
- 未名湖边的烦恼引起的递归问题探讨