分数化小数

①我的程序

#include<iostream>
using namespace std;
int main(void)
{
int a,b,c,kase=0;
while(scanf("%d%d%d",&a,&b,&c)!=EOF&&(a||b||c))
{
printf("Case %d: %.cf\n",++kase,(double)a/b);
}
return 0;
}

测试

看其他数据会输出什么结果

问题:是不是printf("Case %d: %.cf\n",++kase,(double)a/b);此句中的%.cf有问题?导致无法实现分数到小数的转换。

 解决:查资料知:保留的小数位数要手动输入时,需要自己写程序模拟保留小数位数的过程(注意四舍五入),要直接通过计算机的浮点运算来实现不太可能,即用%.cf只是主观臆测。因为这涉及到多次类型转换,而每次从高到低的类型转换都会直接截断导致数据丢失,所以只能按位输出,在需要输出的最后一位需要根据下一位的数值来判断是否进位。

 改正后:

#include<iostream>
using namespace std;
int main(void)
{
long long a,b;
int c,kase=0;
while(scanf("%lld%lld%d",&a,&b,&c)!=EOF&&(a||b||c))
{
printf("Case %d: %lld.",++kase,a/b);
a%=b;
for(int i=1;i<c;i++){
printf("%lld",a*10/b);
a=a*10%b;
} //最后一位不在循环里因为最后一位还需要判断四舍五入
if(a*10%b*10/b<5)
printf("%lld\n",a*10/b);
else
printf("%lld\n",a*10/b+1);
}
return 0;
}

 测试:

试下其他数据:

成功!

分数化小数(decimal)的更多相关文章

  1. 洛谷P1530 分数化小数 Fractions to Decimals

    P1530 分数化小数 Fractions to Decimals 103通过 348提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目 ...

  2. [C++]2-5 分数化小数

    /* 分数化小数 输入正整数a,b,c,输出a/b的小数形式.精确到小数点后C位.a,b<=10^6,c<=10^6. 输入包含多组数据,结束标记为a=b=c=0 样例输入: 1 6 4 ...

  3. YTU 1439: 2.4.5 Fractions to Decimals 分数化小数

    1439: 2.4.5 Fractions to Decimals 分数化小数 时间限制: 1 Sec  内存限制: 64 MB 提交: 194  解决: 13 题目描述 写一个程序,输入一个形如N/ ...

  4. Luogu P1530 分数化小数 Fractions to Decimals(模拟)

    P1530 分数化小数 Fractions to Decimals 题意 题目描述 写一个程序,输入一个形如\(N/D\)的分数(\(N\)是分子,\(D\)是分母),输出它的小数形式.如果小数有循环 ...

  5. 【USACO 2.4.5】分数化小数

    [描述] 写一个程序,输入一个形如N/D的分数(N是分子,D是分母),输出它的小数形式. 如果小数有循环节的话,把循环节放在一对圆括号中. 例如, 1/3 =0.33333333 写成0.(3), 4 ...

  6. 【u237】分数化小数

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 写一个程序,输入一个形如N/D的分数(N是分子,D是分母),输出它的小数形式.如果小数有循环节的话,把 ...

  7. 分数化循环小数C++实现

    引言 前一阵做了一个有理数四则混合运算的程序(详见:用C++实现的有理数(分数)四则混合运算计算器),以分数形式呈现运算结果.这次添加以循环小数形式呈现运算结果的功能.例如: Please input ...

  8. Leetcode 166.分数到小数

    分数到小数 给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数. 如果小数部分为循环小数,则将循环的部分括在括号内. 示例 1: 输入: num ...

  9. Java实现 LeetCode 166 分数到小数

    166. 分数到小数 给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数. 如果小数部分为循环小数,则将循环的部分括在括号内. 示例 1: 输入 ...

随机推荐

  1. linux关闭终端响铃

    title: linux关闭终端响铃 date: 2018-01-25 15:10:14 tags: linux categories: linux 在终端输入或是直接在.bashrc里添加一行 xs ...

  2. Openstack-Ceilometer-Alarm运行机制

    1校验 对alarm列表进行定时监测,如果发现与设置的limit值不满足,则发出警报 监控服务分为三种:默认服务,单进程校验服务和分布式校验服务.根据配置来决定,默认配置:default Alarm状 ...

  3. 浅谈react的初步试用

    现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...

  4. springMVC学习之路4-最后的征程:整合hibernate

    今天小编很开心,因为学习springMVC基础的路终于走到了尽头,也成功搭建了一个SSH框架,暗自在心里默默地开心了1秒钟. 好了,回归正题:整合Hibernate.上一节,我为大家分享我整合spri ...

  5. MySQL查询命令_SELECT 子查询

    首先创建一个table mysql> create table Total (id int AUTO_INCREMENT PRIMARY KEY,name char(20),stu_num in ...

  6. sublime package control INSTALLATION

    Simple The simplest method of installation is through the Sublime Text console. The console is acces ...

  7. Java 解析Excel(xls、xlsx两种格式)

    Java 解析Excel(xls.xlsx两种格式) 一.环境 JDK 1.8 二.JAR 1.commons-collections4-4.1.jar 2.poi-3.9-20121203.jar ...

  8. Docker Kubernetes 健康检查

    Docker Kubernetes 健康检查 提供Probe探测机制,有以下两种类型: livenessProbe:如果检查失败,将杀死容器,然后根据Pod的重启策略来决定是否重启. readines ...

  9. Shell read交互

    read语句:设定客户端交互的任意输出值. 参数: -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符. -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标 ...

  10. mysql-5.7.17-winx64压缩版的安装包下载和安装配置

    网上有很多的安装配置步骤,但是一个跟一个遇到的问题不一样,总之越是写的完整的人,遇到的错误越多,在安装过程中也就越悲催!第一步:下载mysql安装包---下载网址https://downloads.m ...