【GESP】C++二级练习BCQM3051,浮点数余数
我理解为GESP二级知识点:数据类型转换-隐式数据类型转换题目。
BCQM3051
题目要求
描述
计算两个双精度浮点数a和b的相除的余数,a和b都是双精度浮点数。这里余数(r)的定义是a=k×b+r,其中k是整数,0 ≤ r < b。
输入
输入仅一行,包括两个双精度浮点数a和b。
输出
输出也仅一行,a÷b的余数。
输入样例
73.263 0.9973
输出样例
0.4601
题目分析
根据题目定义的浮点数余数计算规则,只需要根据输入先求出“商”k,然后相减即可得到余数r。这里,k只需要用a/b,然后取整即可,这就是隐式的数据类型转换,浮点数取整。
代码参考
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
int main() {
double a, b;
cin >> a >> b;
int ans;
ans = a / b;
double r;
r = a - ans * b;
cout << r;
return 0;
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
GESP各级别考纲、真题讲解、知识拓展和练习清单等详见【置顶】【GESP】C++ 认证学习资源汇总
“luogu-”系列题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限。
“bcqm-”系列题目可在编程启蒙题库进行在线评测。
欢迎加入:Java、C++、Python技术交流QQ群(982860385),大佬免费带队,有问必答
欢迎加入:C++ GESP/CSP认证学习QQ频道,考试资源总结汇总
欢迎加入:C++ GESP/CSP学习交流QQ群(688906745),考试认证学员交流,互帮互助
本文由作者按照 CC BY 4.0 进行授权