• 欢迎光临~

AT_past202010_b 電卓 题解

开发技术 开发技术 2022-12-25 次浏览

题目传送门

题目大意

给定 (x)(y),求 $ dfrac{x}{y}$。

舍弃小数点后第三及以下位。

解题思路

首先判断 $ dfrac{x}{y}$ 是否可以成立,也就是判断 (y) 是否等于零,是就输出 ERROR 直接 return 0;

因为要舍弃小数点后第三及以下位,输出要用到一点小技巧:分离数位:

  • 先将 $ dfrac{x}{y}$ 的整数部分输出;

  • 然后将十分位挪到个位,也就是 (n times 10)(div m),再 (bmod10),得到现在的个位,也是就是十分位,将它输出;

  • 最后将百分位挪到个位,也就是 (n times 100)(div m),再 (bmod10),得到现在的个位,也是就是百分位,将它输出;

注意整数部分后面要有小数点:.

代码

AC记录

#include<bits/stdc++.h>
using namespace std;
int n,m;
int main() {
	cin>>n>>m;
	if(m==0) {
		cout << "ERRORn";  //判断除数是否为0
		return 0;
	} 
    cout<<n/m <<'.';         //整数部分
    cout<<(n*10/m)%10;       //十分位
    cout<<(n*100/m)%10<<'n';//百分位
    return 0;
}
程序员灯塔
转载请注明原文链接:AT_past202010_b 電卓 题解
喜欢 (0)