目录
C/C++计算分数的浮点数值
2019年12月 C/C++编程等级考试一级编程题
一、题目要求
1、编程实现
两个整数a和b分别作为分子和分母,既分数 a/b ,求它的浮点数值(双精度浮点数,保留小数点后9位)
2、输入输出
**输入描述:**输入仅一行,包括两个整数a和b(b不为0)
**输出描述:**输出也仅一行,分数 a/b 的浮点数值(双精度浮点数,保留小数点后9位)
输入样例:
5 7
输出样例:
0.714285714
二、解题思路
1、案例分析
- 从给定题目的初步分析可以看出,首先需要从键盘获取2个整数
- 可以使用int类型进行变量的声明,用来保存键盘输入的数据
- 题目要求保留结果是9位小数位,所以需要提前引入iomanip头文件
- 然后输出的时候使用iomanip头文件里面的fixed和precision函数控制小数位数
- 同时因为在C++中除法(/)如果左右都是整数值返回的结果也是整数,所以需要将其中一个值强制转化为double类型
三、程序代码
cpp
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<fixed<<setprecision(9)<<(double)a/b;
return 0;
}
四、程序说明
- 根据题目要求声明2个整形int变量
- 然后利用输入流对象cin,从键盘读取三个变量的值
- 最后利用输出流对象cout,并结合fixed和setprecision结合使用输出分数的值
五、运行结果
cpp
5 7
0.714285714
六、考点分析
难度级别:容易,这题相对而言还是比较简单的,具体主要考查如下:
- 分析题目,找到解题思路
- 变量的声明和使用
- 输入流对象cin的使用,与流提取运算符 >>结合使用从键盘读取想要的数据
- C++除法的使用,如果两边都是整数返回结果为整数,要变成小数需要将两边至少一个强制转化为浮点数才可以
- setprecision函数的使用,控制输出流显示浮点数的有效数字位数
- fixed与setprecision函数结合使用是保留小数点后的位数,小数点的保留采用四舍五入
- f输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
- 充分掌握变量定义和使用、小数的控制和除号知识的使用及输入输出的用法
PS:方式方法有多种,小朋友们只要能够达到题目要求即可!