首页 > 编程语言 >C++最佳情侣身高差 2024年9月c++一级 电子学会中小学生软件编程C++等级考试一级真题答案解析

C++最佳情侣身高差 2024年9月c++一级 电子学会中小学生软件编程C++等级考试一级真题答案解析

时间:2024-11-21 12:48:42浏览次数:3  
标签:一级 真题 学会 编程 C++ height 使用 身高

目录

C++最佳情侣身高差

一、题目要求

1、编程实现

2、输入输出

二、算法分析

三、程序编写

四、程序说明

五、运行结果

六、考点分析


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

二、算法分析

  1. 从给定题目的初步分析可以看出,本题是计算身高,首先需要从键盘获取对应的人数
  2. 然后利用循环依次进行相应人数的信息输入(第一个用字符,第二个用小数)
  3. 然后可以通过if分支条件语句对性别进行判定,然后根据公式计算出对应的身高
  4. 最后可以通过printf输出控制格式按要求输出即可
  5. 也可以使用使用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;
}

四、程序说明

  1. 首先需要导入输入输出流头文件
  2. 接着再次导入输入输出流格式控制头文件
  3. 然后是引入std命名空间中的所有成员到当前的程序中,这样在当前的程序中就可以直接使用 std 命名空间中的所有成员,而不需要使用的时候在成员前面加上(std::)前缀
  4. 接着声明程序的入口,也就是主函数(主函数在一个程序中只允许出现一次)
  5. 首先读取一个整数 n,它代表查询的人数
  6. 使用 for 循环从 1 到 n 进行迭代,每次迭代读取一组性别和身高数据
  7. 对于每组数据,检查 gender 的值:如果 gender 是 'M'(男性),则将 height 除以 1.09计算身高; 否则(为女性),将 height 乘以 1.09 来计算身高
  8. 使用 cout 和 fixed、setprecision 来格式化输出,保证输出的身高保留两位小数
  9. 最后返回0,程序结束

本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102

五、运行结果

2
M 1.75
1.61

F 1.8
1.96

六、考点分析

难度级别:容易,这题相对而言还是比较简单的,具体主要考查如下:

  1. 充分掌握变量的定义和使用
  2. 学会输入流对象cin的使用,从键盘读入相应的数据
  3. 学会for循环的使用,在确定循环次数的时候推荐使用学会
  4. 学会while循环的使用,在不确定循环次数的时候推荐使用
  5. 学会if条件判断语句的使用,满足一定条件才能执行后面的语句
  6. 学会if...else...双分支语句的使用,条件满足执行一种处理,不满足执行另一种处理
  7. 学会setprecision函数的使用,控制输出流显示浮点数的有效数字位数
  8. 学会fixed与setprecision函数结合使用是保留小数点后的位数,小数点的保留采用四舍五入
  9. 掌握输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
  10. 学会分析题目,算法分析,将复杂问题模块化,简单化,从中找到相应的解题思路
  11. 充分掌握变量定义和使用、分支语句、循环语句和简单算法知识的使用及输入输出的用法

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

标签:一级,真题,学会,编程,C++,height,使用,身高
From: https://blog.csdn.net/frank2102/article/details/143814205

相关文章

  • 初识C++
    目录1.C++发展历史2.C++在工作领域中的应用3.第一个C++程序3.1梦开始的地方:打印helloworld4.命名空间4.1namespace的价值4.2namespace的定义4.3命名空间的使用5.C++输入&输出6.缺省参数7.函数重载8.引用8.1引用的概念的定义8.2引用的特性8.3引......
  • 深入计算机语言之C++:STL之vector的认识和使用
    ......
  • Qt/C++离线地图的加载和交互/可以离线使用/百度和天地图离线/支持手机上运行
    一、前言说明在地图应用中,有很多时候是需要断网环境中离线使用的,一般会采用两种做法,一种是只下载好离线瓦片地图,然后根据不同的缩放和经纬度坐标绘制瓦片。这种方式优点是任何地图都支持,只需要拿到瓦片即可,缺点是其他的接口都需要自己处理,比如覆盖物的绘制,工作量巨大,尽管Qt的qml......
  • C++基础知识概述(二)
    一、形参带默认值的函数 二、inline内联函数三、const用法1.const修饰的变量不能作为左值,初始化完成后,值不能修改 2.C与C++中const的区别是:编译方式不同 C:作为一个变量来编译生成指令,C中的const可以不必被初始化,能正常编译,不叫常量,叫常变量。constinta=20;......
  • 深入理解C++11右值引用与移动语义:高效编程的基石
    文章目录前言......
  • C++ list (链表)容器
    C++ list 链表#include<iostream>usingnamespacestd;#include<list>voidprintList(constlist<int>&L){ for(list<int>::const_iteratorit=L.begin();it!=L.end();it++) { cout<<*it<<"";......
  • 2个月搞定计算机二级C语言——真题(12)解析
    1.前言本篇我们讲解2个月搞定计算机二级C语言——真题122.程序填空题2.1题目要求2.2提供的代码#include<stdio.h>#defineN3intfun(int(*a)[N]){inti,j,m1,m2,row,colum;m1=m2=0;for(i=0;i<N;i++){j=N......
  • C++ 模板元编程高级技巧与大型项目架构中的应用实践
    C++模板元编程(TemplateMetaprogramming,TMP)是一种利用C++模板在编译时进行计算和逻辑推理的技术。模板元编程可以极大地提升程序的灵活性、性能和可扩展性,尤其是在大型项目的架构中,能够有效地处理类型推导、优化计算和代码生成等任务。随着C++11、C++14、C++17和C++20......
  • C++零基础入门:趣味学信息学奥赛从“Hello World”开始
    编程学习的第一步,往往从“HelloWorld”开始。这不仅是程序员的“入门仪式”,更是打开编程世界的一把钥匙。结合树莓派Pico开发板的实际操作,这篇文章将为C++零基础的学生和信息学奥赛爱好者讲解如何通过一个简单的“HelloWorld”项目,学会基础语法、编程思维,以及软硬件结合的实......
  • c++引用传参是否能完全避免临时对象?
    我们都知道引用和指针传递是为了避免传参产生临时对象 今天我在温习模板特化的时候发现引用传参也可能会产生临时对象所以我较了下面函数传参6种情况A&  constA&  A*  constA*  A*&  constA*& 这些情况是否会有临时对象1.const type*&#include<......