C++ 计算分数小数点后第 n 位数字
C++ 计算分数小数点后第 n 位数字
本文提供了一个 C++ 程序,用于计算分数 a/b 化为小数后,小数点后第 n 位的数字。程序解释了分数转小数、保留小数位数和提取第 n 位数字的过程。
输入描述
三个正整数 a,b,n,相邻两个数之间用单个空格隔开。0≤a,b≤100,1≤n≤10000。
输出描述
一个数字。
样例输入 1
1 2 1
样例输出 1
5
C++ 代码
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int a, b, n;
cin >> a >> b >> n;
// 将分数化为小数
double result = (double)a / b;
// 将小数保留n位小数
result = round(result * pow(10, n));
// 输出小数点后第n位的数字
int digit = (int)result % 10;
cout << digit << endl;
return 0;
}
代码解释
1. 将分数化为小数:将整数 a 和 b 转换为 double 类型,然后进行除法运算得到小数结果。
2. 保留小数位数:使用 round() 函数将小数乘以 10 的 n 次方,再取整,从而保留 n 位小数。
3. 提取第 n 位数字:将保留 n 位小数后的结果转换为整数,再对 10 取余,即可得到小数点后第 n 位数字。
总结
本文介绍了使用 C++ 计算分数小数点后第 n 位数字的方法。通过将分数转为小数、保留小数位数和提取第 n 位数字,我们可以轻松实现该功能。
原文地址: https://www.cveoy.top/t/topic/pLko 著作权归作者所有。请勿转载和采集!