题目链接:胖子不想说体重
成年男性的标准体重公式为:
标准体重(kg)=身高(cm)−100
超标准体重20%为超重,比标准体重轻20%为超轻。请编写C++程序,输入身高和体重,完成下面的任务:
(1)计算并输出标准体重。
(2)计算出标准体重,当超重时,请给出提示。
(3)计算出标准体重,当超重时给出提示,不超重时也给提示。
(4)计算出标准体重,输出体重状态(正常/超重/超轻)
/*cpoyright(c++) 2017.
*All rights reserved
*文件名称:胖子不想说体重
*作 者:xc
*完成日期:2017年3月14日
*版 本 号:v1.0
*
*题目链接:http://blog.csdn.net/sxhelijian/article/details/50825117
*问题描述:计算输出标准体重,输出状态;
*输入描述:输入身高和体重;
*程序输出:标准体重; 体重状态(正常/超重/超轻);
*/
#include
using namespace std;
int main ()
{
double standard, height, weight, overweight;
cout << "请输入体重(kg):";
cin >> weight;
cout << "请输入身高(cm):";
cin >> height;
// cin >> height >> endl; 初级错误
standard = height - 100;
cout << "标准体重: " << standard << " kg" << endl;
overweight = weight / standard;
if (overweight > 1.2) {
cout << "体重状态: " << "超重!" << endl;
} else if (overweight < 0.8) {
cout << "体重状态: " << "超轻!" << endl;
} else {
cout << "体重状态: " << "正常" << endl;
}
return 0;
}
运行结果:
总结:
1. 初级错误:
// cin >> height >> endl; 输入流不需要换行
参考:基本输入输出
C++中的标准输入是通过在cin数据流上重载运算符extraction (>>) 来实现的。
它后面必须跟一个变量以便存储读入的数据。
声明一个整型变量height然后等待用户从键盘输入到cin并将输入值存储在这个变量中。
cin 只能在键盘输入回车键(RETURN)后才能处理前面输入的内容。
读取字符串 :一次读取一整行输入,需要使用C++的函数 getline;
2. 思维转换:
题目说,20%为超重,
overweight = (weight-standard) / standard; // 然后判断是否...遇到点问题,会有负数;
可以转换为
overweight = weight / standard; // 然后判断 >1.2, <0.8;
可以转换为
if( weight > standard * 1.2) // 在判断中*1.2
总结完毕!