分数化小数(decimal)
分数化小数

①我的程序
#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)的更多相关文章
- 洛谷P1530 分数化小数 Fractions to Decimals
P1530 分数化小数 Fractions to Decimals 103通过 348提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交 讨论 题解 最新讨论 暂时没有讨论 题目 ...
- [C++]2-5 分数化小数
/* 分数化小数 输入正整数a,b,c,输出a/b的小数形式.精确到小数点后C位.a,b<=10^6,c<=10^6. 输入包含多组数据,结束标记为a=b=c=0 样例输入: 1 6 4 ...
- YTU 1439: 2.4.5 Fractions to Decimals 分数化小数
1439: 2.4.5 Fractions to Decimals 分数化小数 时间限制: 1 Sec 内存限制: 64 MB 提交: 194 解决: 13 题目描述 写一个程序,输入一个形如N/ ...
- Luogu P1530 分数化小数 Fractions to Decimals(模拟)
P1530 分数化小数 Fractions to Decimals 题意 题目描述 写一个程序,输入一个形如\(N/D\)的分数(\(N\)是分子,\(D\)是分母),输出它的小数形式.如果小数有循环 ...
- 【USACO 2.4.5】分数化小数
[描述] 写一个程序,输入一个形如N/D的分数(N是分子,D是分母),输出它的小数形式. 如果小数有循环节的话,把循环节放在一对圆括号中. 例如, 1/3 =0.33333333 写成0.(3), 4 ...
- 【u237】分数化小数
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 写一个程序,输入一个形如N/D的分数(N是分子,D是分母),输出它的小数形式.如果小数有循环节的话,把 ...
- 分数化循环小数C++实现
引言 前一阵做了一个有理数四则混合运算的程序(详见:用C++实现的有理数(分数)四则混合运算计算器),以分数形式呈现运算结果.这次添加以循环小数形式呈现运算结果的功能.例如: Please input ...
- Leetcode 166.分数到小数
分数到小数 给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数. 如果小数部分为循环小数,则将循环的部分括在括号内. 示例 1: 输入: num ...
- Java实现 LeetCode 166 分数到小数
166. 分数到小数 给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数. 如果小数部分为循环小数,则将循环的部分括在括号内. 示例 1: 输入 ...
随机推荐
- #WEB安全基础 : HTTP协议 | 0x0 TCP/IP四层结构
学完HTML/CSS了? 做了这么多网页,但是你知道它们是怎么工作的吗? 作为你的朋友,我也对这些东西感兴趣,在写博客的同时也在和你一起学. 废话少说,进入正题 网络中的通信包括两个端分别为:客户端( ...
- CentOS 7 NAT模式LVS搭建
NAT模式下 , 调度器需要有两个IP , 一个公网IP一个内网IP , web服务器只需要内网IP 调度器LB : 192.168.94.11(内网IP) 192.168.29.11 (仅主机模式 ...
- Delphi中的消息 (转载)
消息是Windows发出的一个通知,它告诉应用程序某个事件发生了.在Delphi中,大多数情况下Windows的消息被封装在VCL的事件中,我们只需处理相应的VCL事件就可以了,但如果我们需要编写自己 ...
- ASP.NET Core免费(视频)教程汇总
最近才开始学习ASP.NET Core,发现社区的学习资料很多,但是相关的视频教程不是很多,52ABP官方有两个视频教程,但是ABP框架比较臃肿,初学者学起来有点吃力,所以还是推荐大家先啃书或者官方文 ...
- 20190403vim编辑器week1_day3
vi编辑器 作用:编辑文本文件中的内容的工具 命令历史 末行模式中,以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 v ...
- ltp-ddt makefile的思考
ltp-ddt env.sh export PATH=/opt/gcc-linaro--2018.05-x86_64_arm-linux-gnueabihf/bin:$PATH export CROS ...
- SCI_Call_Bsw_SetPwmMotorGroupB
Sci_Bsw.c -- definition MotorGroupB_cfg.c -- called in LatchControl_Magna.c: extern uint16 Sci_DRead ...
- 使用JS调用手机本地摄像头或者相册图片识别二维码/条形码
接着昨天的需求,不过这次不依赖微信,使用纯js唤醒手机本地摄像头或者选择手机相册图片,识别其中的二维码或者是条形码.昨天,我使用微信扫一扫识别,效果超棒的.不过如果依赖微信的话,又怎么实现呢,这里介绍 ...
- Learning-Python【5】:Python数据类型(1)—— 整型、浮点型、字符串
一.整型 1.用途:记录年龄.等级.各种号码等 2.定义方式 age = 22 只能将纯数字的字符串转换成整型 3.常用操作+内置方法 赋值运算.比较运算.算数运算 该类型总结: 存一个值 不可变(可 ...
- 一键清空Form表单数据
今天在工作项目调试bug当中,遇到这样的需求:页面上的数据太多,一个一个清空太繁琐,所以就采用全部清空的写法: $(':input','#myform').not(':button, :submit, ...