文章

【GESP】C++一级练习BCQM3047,浮点计算,四舍五入

回到一级浮点数计算的题,不过这次多了一个小小的难点就是到十位的四舍五入。需要自己处理一下。

BCQM3047

题目要求

描述

输入机票原价(3 到 4 位的正整数,单位:元),再输入机票打折率(小数点后最多一位数字)。编程计算打折后机票的实际价格(单位:元。计算结果要将个位数四舍五入到十位数“元”)。

输入

一行两个数 x,z (100≤x≤104,1.0≤z≤9.9),x 为整数,表示机票原价。z为小数后含有一位数字的实数,表示打折率。

输出

一个正整数,表示打折后的机票价格。

输入样例

888 7.7

输出样例

680


题目分析

对于小学生来说,本题有两个小点:

  • 折扣的含义,n 折就是 价格 * n / 10。
  • 十数位四舍五入,将原来的数/10后,就变成了四舍五入到整数位(个位)了,然后即可以用C++原生的四舍五入取整函数,也可以自己通过将结果 + 0.5,然后利用程序将小数转换成整数后,自动舍掉小数位的性质,手动处理。

代码参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main() {
    int x;
    cin >> x;
    double z;
    cin >> z;
    double temp_price;
    temp_price = x * z / 10;
    int temp;
    temp = temp_price / 10 + 0.5;
    cout << temp * 10;
    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),考试认证学员交流,互帮互助

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
本文由作者按照 CC BY 4.0 进行授权