欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

class09 mfy 结构体实例

时间:2024-06-15 19:45 作者:admin 点击:
#include iostream using namespace std ; struct Hero { string name; int b; int m; double bj; void speak (){ cout "嘿小鬼" ; } void att ( Hero b ){ cout name "攻击了" b . name ; } }; bool cmp ( Hero x , Hero y ){ //参数指的是比较的

#include <iostream>

using namespace std;

struct Hero{

string name;

int b;

int m;

double bj;

void speak(){

cout<<"嘿小鬼";

}

void att(Hero b){

cout<<name<<"攻击了"<<b.name;

}

};

bool cmp(Hero x,Hero y){

//参数指的是比较的主体

return x.m<y.m;

}

int main() {

int n;

double m;

//创建英雄类的变量

Hero a;

//输入单个英雄的各个属性

cin>>a.name;//.代表的,也称为调用类中的属性

cin>>a.bj;

//使用英雄的功能

a.speak();

//创建一个英雄数组

Hero b[1000];

//批量输入英雄数据 1

for(int i=0;i<1000;i++){

cin>>b[i].name>>b[i].b>>b[i].m;

}

//批量输入英雄数据 2

string name;

int b,m;

for(int i=0;i<1000;i++){

cin>>name>>b>>m;

b[i]={name,b,m};

}

//通过英雄的血量从大到小进行排序

for(int i=0;i<n-1;i++){

for(int j=0;j<n-i-1;j++){

if(b[j].m<b[j+1].m){

swap(b[j],b[j+1]);

}

}

}

//sort对自创类型排序

//sort默认排序是指默认类型,从小到大,自创类型需要cmp

sort(b,b+n,cmp);//按血量从小到大

return 0;

}

/*

案例:输入一个n,代表学生的人数

输入n名同学的名字,语文成绩,数学成绩

按照他们的总分从高到低排序,输出他们的名字

输入:

5

gougou 1 90

tuzi 80 6

shanji 59 59

shidan 80 1

doufu 7 7

输出:

shanji gougou tuzi shidan doufu

*/

/*

案例:输入一个n,代表学生的人数

输入n名同学的名字,出生月份,出生日期

按照他们的生日从小到大排序,输出他们的名字,

如果生日相同,按照名字的字典序排序(按字符串默认比大小)

输入:

5

gougou 3 6

tuzi 8 6

shanji 5 9

shidan 8 6

doufu 7 7

输出:

gougou shanji doufu shidan tuzi

*/

struct stu{

string name;

int y,d;

};

bool cmp(stu a,stu b){

if(a.y!=b.y) return a.y<b.y;

if(a.d!=b.d) return a.d<b.d;

return a.name<b.name;

}

作业:1178成绩排序

(责任编辑:admin)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%