求小数的某一位(信息学奥赛一本通-T1082)

本文介绍了一个简单的C++程序,该程序能够计算分数转换为小数后,小数点后任意指定位置的数字。通过不断乘以10并对整数部分进行取整的方式,可以有效地找到目标位数上的数字。
部署运行你感兴趣的模型镜像

【题目描述】

分数a/b化为小数后,小数点后第n位的数字是多少?

【输入】

三个正整数a,b,n,相邻两个数之间用单个空格隔开。0<a<b< 100,1≤n≤10000。

【输出】

一个数字

【输入样例】

1 2 1

【输出样例】

5

【源程序】

#include<iostream>
using namespace std;
int main()
{
    int a,b,n;
    int temp;
    int i;

    cin>>a>>b>>n;
    for(i=1; i<=n; i++)
    {
        a*=10;
        temp=a/b;//temp模拟存储第i为小数
        a%=b;
    }
    cout<<temp<<endl;
    return 0;
}


 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

### 信息学奥赛一本 1061 题解与题目描述 信息学奥赛一本中的第1061题名为“【例2.3】平均值”,该题主要考察用户对输入输出以及基本算术运算的掌握情况。以下是关于此题的详细描述和解法[^1]。 #### 题目描述 给定一个正整数 $ n $ 和接下来的 $ n $ 个整数,计算这些整数的平均值,并将结果保留到小数点后两位。 #### 输入格式 第一行包含一个正整数 $ n $ ($ 1 \leq n \leq 100 $)。 接下来的 $ n $ 行每行包含一个整数 $ x_i $ ($ -10^4 \leq x_i \leq 10^4 $)。 #### 输出格式 输出一行,包含一个实数,表示这 $ n $ 个数的平均值,结果保留两位小数。 #### 示例 **输入** ``` 4 5 8 2 10 ``` **输出** ``` 6.25 ``` #### 解题思路 本题的核心在于如何正确地读取输入数据并进行平均值的计算。由于需要保留两位小数,因此在输出时需要注意格式化输出的方式。以下是解决该问题的基本步骤(以C++为例): - 使用循环读取 $ n $ 个整数,并将它们累加到一个变量中。 - 计算累加值与 $ n $ 的商,得到平均值。 - 使用 `printf` 或 `std::fixed` 和 `std::setprecision` 来控制输出的小数位数。 #### 题解代码 以下是基于C++语言的实现代码: ```cpp #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; double sum = 0; // 使用double类型以确保精度 for (int i = 1; i <= n; i++) { int x; cin >> x; sum += x; // 累加每个输入的整数 } printf("%.2lf\n", sum / n); // 格式化输出,保留两位小数 return 0; } ``` #### 注意事项 - 在累加过程中使用 `double` 类型可以避免因整数除法导致的精度丢失。 - 输出时必须严格遵循题目要的格式,否则可能会导致答案错误。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值