PTA刷题记录:L1-063 吃鱼还是吃肉 (10分)

2020-10-29 11:00:19 浏览数 (1)

L1-063 吃鱼还是吃肉 (10分)

题目要求: 国家给出了 8 岁男宝宝的标准身高为 130 厘米、标准体重为 27 公斤;8 岁女宝宝的标准身高为 129 厘米、标准体重为 25 公斤。

现在你要根据小宝宝的身高体重,给出补充营养的建议。

输入格式: 输入在第一行给出一个不超过 10 的正整数 N,随后 N 行,每行给出一位宝宝的身体数据:

性别 身高 体重 其中性别是 1 表示男生,0 表示女生。身高和体重都是不超过 200 的正整数。

输出格式: 对于每一位宝宝,在一行中给出你的建议:

如果太矮了,输出:duo chi yu!(多吃鱼); 如果太瘦了,输出:duo chi rou!(多吃肉); 如果正标准,输出:wan mei!(完美); 如果太高了,输出:ni li hai!(你厉害); 如果太胖了,输出:shao chi rou!(少吃肉)。 先评价身高,再评价体重。两句话之间要有 1 个空格。

输入样例: 4 0 130 23 1 129 27 1 130 30 0 128 27 输出样例: ni li hai! duo chi rou! duo chi yu! wan mei! wan mei! shao chi rou! duo chi yu! shao chi rou!

解题思路: 定义一个结构体,存储宝宝的相关信息。将男宝宝和女宝宝的判断分别写成两个函数,函数的返回值为一个装有相应评价的 string 字符串。注意两个评价之间有一个空格。

通关代码:

代码语言:javascript复制
#include <iostream>
#include <vector>
#include <string>

using namespace std;

struct man {
	int _gender;
	int _height;
	int _weight;
};

string girl(man baby) {
	string advice;
	
	if (baby._height > 129) {
		advice  = "ni li hai!";
	} else if (baby._height == 129) {
		advice  = "wan mei!";
	} else {
		advice  = "duo chi yu!";
	}
	advice  = " ";
	if (baby._weight > 25) {
		advice  = "shao chi rou!";
	} else if (baby._weight == 25) {
		advice  = "wan mei!";
	} else {
		advice  = "duo chi rou!";
	}
	
	return advice;
}

string boy(man baby) {
	string advice;
	
	if (baby._height > 130) {
		advice  = "ni li hai!";
	} else if (baby._height == 130) {
		advice  = "wan mei!";
	} else {
		advice  = "duo chi yu!";
	}
	advice  = " ";
	if (baby._weight > 27) {
		advice  = "shao chi rou!";
	} else if (baby._weight == 27) {
		advice  = "wan mei!";
	} else {
		advice  = "duo chi rou!";
	}
	
	return advice;
}

int main() {
	int n;
	man baby;
	vector<man> arr;
	
	cin >> n;
	
	for (int i = 0; i < n; i  ) {
		cin >> baby._gender;
		cin >> baby._height;
		cin >> baby._weight;
		
		arr.push_back(baby);
	}
	
	int MAX = arr.size();
	
	for (int i = 0; i < MAX; i  ) {
		if (arr[i]._gender == 1) {
			cout << boy(arr[i]) << endl; 
		} else {
			cout << girl(arr[i]) << endl;
		}
	} 
	
	
	return 0;
} 

通关截图:

0 人点赞