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