分数化小数(没有四舍五入的小数 实现的简单解法~)

输入正整数 a,b,ca,b,c,输出 \frac{a}{b}ba​ 的小数形式,精确到小数点后 cc 位。

输入

三个正整数 a,b,c \ (a,b \leq 10^6,c \leq 100)a,b,c (a,b≤106,c≤100)。

输入包含多组数据,结束标记为 a=b=c=0a=b=c=0。

输出

\frac{a}{b}ba​ 的小数形式,精确到小数点后 cc 位,最后一位进行截尾处理,格式请参考样例。

本题评测方式为文本比较,所以你需要输出一个小数点后恰好有 cc 位的小数。

你的答案将被判定为正确当且仅当你的输出和标准答案在格式和内容上均完全一致

样例

标准输入复制文本
1 6 4
1 2 1
0 0 0
标准输出复制文本
Case 1: 0.1666
Case 2: 0.5

思路:
首先这道题挺妙的,不用四舍五入一开始不知咋算,后知后觉才知道这是一个一个数 / %后的结果

#include <bits/stdc++.h>
using namespace std;
long long fenzi,fenmu,weishu,e,i,t;
int main() 
{
	while(cin>>fenzi>>fenmu>>weishu&&fenzi&&fenmu&&weishu) 
	{
		t=1;
		i++;
		cout<<"Case "<<i<<": "<<fenzi/fenmu<<".";

		fenzi%=fenmu;
        //当到限定位数时停止
		while(t<=weishu) 
		{
			++t;
			fenzi*=10;
			cout<<fenzi/fenmu;
			fenzi%=fenmu;
		}
		cout<<endl;
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值