据说一个人的标准体重应该是其身高(单位:厘米)减去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>
using namespace std;
struct{
int heigth;
int jin;
double biao;
double j;
}per[21];
int main(){
/*
三种情况:
1.完美身材——误差范围之内
2。太胖了——误差范围之外,且大于标准体重
3.太瘦了 ——误差范围之内,且小于标准体重
*/
int n = 0;
cin>>n;
for(int i = 0;i<n;i++){
cin>>per[i].heigth;
cin>>per[i].jin;
//这里的到的是公斤 ,乘2转换成斤
per[i].biao = (per[i].heigth-100)*0.9*2;
//标准体重和实际体重的差值
per[i].j = per[i].biao -per[i].jin ;
}
for(int i = 0;i<n;i++){
//当 差值为正的时候
if(per[i].j>0){
//完美身材
if(per[i].j<(per[i].biao*0.1)){
cout<<"You are wan mei!"<<endl;
}else{
//下面是非完美身材
//实际体重大于标准体重
if(per[i].jin>per[i].biao){
cout<<"You are tai pang le!"<<endl;
}else{
//实际体重小于等于标准体重
cout<<"You are tai shou le!"<<endl;
}
}
}else{
//差值为负的时候 ,先转换成正值
per[i].j = -per[i].j;
cout<<per[i].j<<endl;
if(per[i].j<(per[i].biao*0.1)){
cout<<"You are wan mei!"<<endl;
}else{
if(per[i].jin>per[i].biao){
cout<<"You are tai pang le!"<<endl;
}else{
cout<<"You are tai shou le!"<<endl;
}
}
}
}
return 0;
}
自己跑的时候看着答案不对呀,提交的时候居然全通过了= =一脸懵逼。
好像就是这个题我去查了一下结构体数组杂用的然后从这往后我就用上瘾了。
(其实我还是不知道这个通过没,不过感觉自己写的没有什么错误了。。)