分数化小数
2018-03-05 16:12
197 查看
要求保留指定位数的小数。
两种解法:第一种直接运用
函数如下:
另一种就是直接模拟除法。代码如下,记得最后一位可能需要进位:
两种解法:第一种直接运用
printf()函数的特性:
printf("%*.*s\n", m, n, ch); //前边的*定义的是总的宽度,后边的定义的是输出的个数。分别对应外面的参数m和n 。
函数如下:
void f(int a, int b, int c) { if (b != 0) { printf("%.*lf\n", c, (double)a / b); } else { printf("error"); } }
另一种就是直接模拟除法。代码如下,记得最后一位可能需要进位:
#include<stdio.h> #include<stdlib.h> int main() { int a, b, c, d; scanf("%d%d%d", &a, &b, &c); if (b != 0) { printf("%d%c", a / b, '.'); int i = 0; for (i = 0; i < c-1; i++) { a %= b; a *= 10; printf("%d", a / b); } a %= b; a *= 10; d = a / b; a %= b; a *= 10; if (a / b >= 5) { d++; } printf("%d\n", d); } else { printf("error"); } return 0; }
相关文章推荐
- 《算法竞赛入门经典第二版》习题2-5分数化小数问题
- 有理小数化成分数
- 1439: 2.4.5 Fractions to Decimals 分数化小数
- 循环小数转化为分数
- usaco2.4.6分数化小数
- 分数化小数
- hdu 1717 小数化分数2 (循环小数转分数)
- 《Modern Python Cookbook》(Python编程范例)笔记——1.4 浮点数、小数、分数
- 一种小数转分数的算法(不限整除)C++
- 一种将无限循环小数快速转换为分数的方法
- 【USACO2.4.5】分数化小数 模拟
- 算法学习-2.5分数化小数
- hdoj小数转化为分数
- C# 把分数转换为小数解决方案-------
- 小数转分数
- hdu 1717小数化分数2
- 习题2-5 分数化小数(decimal)
- Excel分数、小数、身份证的录入
- Problem H: 2.4.5 Fractions to Decimals 分数化小数
- 无限循环小数的分数形式