L1-031. 到底是不是太胖了
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 |真实体重-标准体重| < 标准体重x10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。
输入格式:
输入第一行给出一个正整数N(<= 20)。随后N行,每行给出两个整数,分别是一个人的身高H(120 < H < 200;单位:厘米)和真实体重W(50 < W <= 300;单位:市斤),其间以空格分隔。
输出格式:
为每个人输出一行结论:如果是完美身材,输出“You are wan mei!”;如果太胖了,输出“You are tai pang le!”;否则输出“You are tai shou le!”。
输入样例:
3
169 136
150 81
178 155
输出样例:
You are wan mei!
You are tai shou le!
You are tai pang le!
#include <iostream>
#include <cmath>
using namespace std;
int judge(int h,int w);
struct node{
int height;
int weight;
int flag;
};
int judge(int h, int w) {
double standard; //标准体重
standard = (h-100) * 0.9 * 2;
if( abs(w-standard) < standard * 0.1) { //标准
return 1;
} else if( w > standard) { //太胖
return 2;
} else {
return 3;
}
}
int main()
{
int n;
cin >> n;
node *list = new node [n];
for(int i = 0; i < n; i++) {
cin >> list[i].height >> list[i].weight;
list[i].flag = judge(list[i].height, list[i].weight);
}
for(int i = 0; i < n; i++) {
if(list[i].flag == 1) cout << "You are wan mei!" << endl;
else if(list[i].flag == 2) cout << "You are tai pang le!" << endl;
else if(list[i].flag == 3) cout << "You are tai shou le!" << endl;
}
return 0;
}