目录
C++最佳情侣身高差
2024年9月 C++编程等级考试一级编程题
一、题目要求
1、编程实现
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)x1.09=(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。
2、输入输出
输入描述:输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别身高"的格式给出前来查询的用户的性别和身高,其中“性别"为“F"表示女性、“M"表示男性;“身高"为区间[1.0,3.0]之间的实数。
输出描述:对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。
输入样例:
2
M 1.75
F 1.8
输出样例:
1.61
1.96
二、算法分析
- 从给定题目的初步分析可以看出,本题是计算身高,首先需要从键盘获取对应的人数
- 然后利用循环依次进行相应人数的信息输入(第一个用字符,第二个用小数)
- 然后可以通过if分支条件语句对性别进行判定,然后根据公式计算出对应的身高
- 最后可以通过printf输出控制格式按要求输出即可
- 也可以使用使用iomanip头文件里面的fixed和precision函数控制小数位数
三、程序编写
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n;
cin >> n;
for(int i=1;i<=n;i++)
{
char gender;float height;
cin >> gender >> height;
if(gender == 'M') height = height / 1.09;
else height = height * 1.09;
cout << fixed << setprecision(2) << height << endl;
}
return 0;
}
四、程序说明
- 首先需要导入输入输出流头文件
- 接着再次导入输入输出流格式控制头文件
- 然后是引入std命名空间中的所有成员到当前的程序中,这样在当前的程序中就可以直接使用 std 命名空间中的所有成员,而不需要使用的时候在成员前面加上(std::)前缀
- 接着声明程序的入口,也就是主函数(主函数在一个程序中只允许出现一次)
- 首先读取一个整数 n,它代表查询的人数
- 使用 for 循环从 1 到 n 进行迭代,每次迭代读取一组性别和身高数据
- 对于每组数据,检查 gender 的值:如果 gender 是 'M'(男性),则将 height 除以 1.09计算身高; 否则(为女性),将 height 乘以 1.09 来计算身高
- 使用 cout 和 fixed、setprecision 来格式化输出,保证输出的身高保留两位小数
- 最后返回0,程序结束
本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102
五、运行结果
2
M 1.75
1.61
F 1.8
1.96
六、考点分析
难度级别:容易,这题相对而言还是比较简单的,具体主要考查如下:
- 充分掌握变量的定义和使用
- 学会输入流对象cin的使用,从键盘读入相应的数据
- 学会for循环的使用,在确定循环次数的时候推荐使用学会
- 学会while循环的使用,在不确定循环次数的时候推荐使用
- 学会if条件判断语句的使用,满足一定条件才能执行后面的语句
- 学会if...else...双分支语句的使用,条件满足执行一种处理,不满足执行另一种处理
- 学会setprecision函数的使用,控制输出流显示浮点数的有效数字位数
- 学会fixed与setprecision函数结合使用是保留小数点后的位数,小数点的保留采用四舍五入
- 掌握输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
- 学会分析题目,算法分析,将复杂问题模块化,简单化,从中找到相应的解题思路
- 充分掌握变量定义和使用、分支语句、循环语句和简单算法知识的使用及输入输出的用法
PS:方式方法有多种,小朋友们只要能够达到题目要求即可!
标签:一级,真题,学会,编程,C++,height,使用,身高 From: https://blog.csdn.net/frank2102/article/details/143814205