题目描述
有一群猫猫,每只猫都有自己的名称和体重。
用类来描述猫,名称和体重都是私有属性,要求加入属性的get方法。其他函数根据需要自己定义
创建一个动态的猫对象数组,存储各只猫的名称和体重
根据猫的体重对数组做升序排序,并输出排序后每只猫的名称
题目涉及的数值均用整数处理
输入
第一行输入n表示有n只猫
第二行输入一只猫的名称和体重
依次输入n行
输出
输出一行,输出排序后的猫的名称
//
输入示例:
4
chocolate 1500
water 400
cheese 3000
vegetable 200
输出示例:
vegetable water chocolate cheese
AC代码:
#include <iostream>
#include <iomanip>
#include <string>
#include <algorithm>
using namespace std;
class mao
{
private:
string name;
int m;
public:
string getn() { return name; }
int getm() { return m; }
void set(string name1, int m1)
{
name = name1;
m = m1;
}
};
bool cmp(mao &cat, mao &cat1)
{
if (cat.getm() != cat1.getm())
{
return cat.getm() < cat1.getm();
}
}
int main()
{
int t;
cin >> t;
mao cat[t];
string name;
int m;
for (int i = 0; i < t; i++)
{
cin >> name >> m;
cat[i].set(name, m);
}
sort(cat, cat + t, cmp);
for (int i = 0; i < t; i++)
{
if (i == t - 1)
{
cout << cat[i].getn() << endl;
}
else
cout << cat[i].getn() << " ";
}
}