電卓 题解

题目传送门

题目大意

给定 \(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 << "ERROR\n";  //判断除数是否为0
		return 0;
	} 
    cout<<n/m <<'.';         //整数部分
    cout<<(n*10/m)%10;       //十分位
    cout<<(n*100/m)%10<<'\n';//百分位
    return 0;
}
posted @ 2022-12-25 07:41  Ggsddu_zzy  阅读(10)  评论(0编辑  收藏  举报