【白书之路】 分数化小数 高精度小数运算
来源:互联网 发布:吉林师范大学知乎 编辑:程序博客网 时间:2024/05/01 08:43
2-5:分数化小数
输入和正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b<=10^6,c<=100,输入包含多组数据,结束标记为a=b=c=0。
样例输入:
1 6 4
0 0 0
样例输出
Case 1: 0.1667
高精度小数运算,注意小数的运算原理,模拟手算,关键是最后的进位要回传给整数部分,使用数组保存小数部分。
#include <iostream>#include <stdio.h>using namespace std;int get_dec(int a,int b,int c,int *dec){ int i,carry=0; for(i=0; i<=c; i++) //计算到第c+1位 { a*=10; dec[i]=a/b; a=a%b; } if(dec[c]>=5)//如果最后一位发生进位 { carry=1; for(i=c-1; i>=0; i--)//进位前传 { dec[i]=(dec[i]+carry)%10; carry=(dec[i]+carry)/10; } } return carry;//返回最终的进位}int main(){ int a,b,c; int Int,i; int dec[110]; int cas=0; while(~scanf("%d%d%d",&a,&b,&c)&&(a||b||c)) { Int=a/b; printf("Case %d: %d",++cas,Int+get_dec(a%b,b,c,dec)); if(c) printf("."); for(i=0; i<c; i++) { printf("%d",dec[i]); } printf("\n"); } return 0;}
1 0
- 【白书之路】 分数化小数 高精度小数运算
- POJ1001高精度小数运算
- ACM准备之路(蓝桥杯9)分数化小数
- 【模拟】分数化小数
- 分数化小数
- 分数化小数
- 分数化小数
- 分数化小数
- 分数化小数
- 1121 -- 分数化小数
- 分数化小数
- 分数化小数
- 分数化小数
- 分数化小数2
- 分数化小数
- 分数化小数
- usaco分数化小数
- 分数化小数decimal
- 机器学习中的范数规则化:L0、L1与L2范数,核范数和规则项参数选择
- 快速排序
- 保利威视后台设置播放域名黑白名单
- 经典的SQL语句收藏
- JAVA中extends 与implements区别
- 【白书之路】 分数化小数 高精度小数运算
- Android Studio 差分升级
- 利用python与nagios对服务器进行监控。
- Name node is in safe mode.
- 修改几个HighCharts的默认设置和功能
- hdfs常用命令
- 杭电(hdu)2085 核反应堆 水题
- 二之再续、Dijkstra 算法+fibonacci堆的逐步c实现
- 博客搬家