中国大学MOOC课程《程序设计入门——C语言》翁恺老师 第六周测试题 高精度小数(习题记录)
1高精度小数(10分)
题目内容:
由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法。
(0,1)之间的任何浮点数都可以表达为两个正整数的商,为了表达这样两个数的商,可以将相除的结果以多个整数来表示,每个整数表示结果的一位。即商的第一位用一个整数来表示,第二位用另一个整数来表示,以此类推,就可以输出一个高精度的除法结果了。
如16/19的结果0.8421052631…就可以依次输出8、4、2、1、0、5、2、6、3、1…。
而除法的过程,则可以模仿人工列竖式做除法的方式,先将被除数乘以10,得到一位商以后,将余数乘以10作为下一轮计算的被除数:
160/19->8余8
80/19->4余4
当某次余数为0时,则表明除尽。
现在,请写一个程序,输入一个分数,计算出它的小数形式。无论是否可以除尽,输出最多小数点后200位。
输入格式:
形如
a/b
的两个数,其中10<=a<b<100。也就是说,这个小数一定是小于1的正数。
提示:输入是带着两个数中间的“/”的,所以scanf应采用“%d/%d”这样的输入格式。
输出格式:
形如
0.xxxxxxxxx
的小数,小数点后最多200位。输出结束的时候要带着回车换行。如果a/b是一个有限不循环小数,则输出完所有的有效位就可以了,不需要再输出后面的0来凑满200位。
输入样例:
16/19
输出样例:
0.84210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684
``时间限制:500ms内存限制:32000kb
#include <stdio.h>int main()
{int a, b, num;//定义输入的两个数,输出的位数int count = 0;//定义计数器scanf("%d/%d", &a, &b);if ( a>0 && a<b )//需要保证输出的数是大于零而且小于1,需要进行判断,满足条件继续执行{printf("0.");while ( count<200 )//定义循环,输出前200位{num = (a*10)/b;//取得商printf("%d", num);//输出所要的商count ++;a = (a*10)%b;//将被除数a置换为余数if ( a==0 )//如果a不为零(即余数不为零),继续执行,如果为零,说明这个数是有限不循环小数,不需要继续执行{break;}}printf("\n");}return 0;
}
妙不可言
中国大学MOOC课程《程序设计入门——C语言》翁恺老师 第六周测试题 高精度小数(习题记录)相关推荐
- 中国大学MOOC《程序设计入门——C语言》翁恺————答案分享
这份代码为去年我学习时写的,与现在课程的题目可能有些出入,所以代码仅供参考. 1.输出"Hello World"(5分) 题目内容: 请输出一行,内容为 Hello World 请 ...
- 中国大学MOOC浙江大学“程序设计入门——C语言”的PTA练习题目集答案
第I阶段,包含变量.语句.循环部分的题目,不包括数组.结构.基础算法的题目.已通过PTA测试点,所用知识均为变量.语句.循环.适合初学者观看,博主技术有限,同样以初学者视角来写,有不足之处还请多多指出 ...
- 翁恺c语言程序设计入门期末,程序设计入门-C语言 翁恺.doc
第 PAGE \* MERGEFORMAT 39 页 共 NUMPAGES \* MERGEFORMAT 39 页 程序设计入门-C语言 浙大 翁恺循环类型编程源代码1.#include int ma ...
- 程序设计入门——C语言 翁恺 第8周编程练习
1单词长度(4分) 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以'.'结束.你要输出这行文本中每个单词的长度.这里的单词与语言无关,可以包括各种符号,比如"it's&q ...
- 程序设计入门——C语言 翁恺 第一次单元测试
第一次单元测验 返回 本次得分为:45.00/45.00, 本次测试的提交时间为:2018-05-20, 如果你认为本次测试成绩不理想,你可以选择再做一次. 1 单选(3分) 下列程序段输出结果为: ...
- 程序设计入门——C语言 翁恺 期末考试编程题
最简分式(10分) 题目内容: 分数可以表示为"分子/分母"的形式.编写一个程序,要求用户输入一个分数,然后将其约分为最简分式.最简分式是指分子和分母不具有可以约分的成分了.如6/ ...
- 程序设计入门——C语言 翁恺 第1周编程练习
1逆序的三位数(5分) 题目内容: 逆序的三位数: 程序每次读入一个正三位数,然后输出逆序的数字.注意,当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 提示:用%10 ...
- 程序设计入门——C语言 翁恺 第3周编程练习
1奇偶个数(5分) 题目内容 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据.程序输出读到的数据中的奇数和偶数的个数. 输入格式 一系列正整数,整数的范围是(0,1000 ...
- 笔记:中国大学MOOC课程《程序设计入门——C语言》编程练习
笔记:中国大学MOOC课程<程序设计入门--C语言>编程练习 第7周 数组运算 1 多项式加法 第8周 指针与字符串 2 GPS数据处理 第7周 数组运算 1 多项式加法 题目内容: 一个 ...
最新文章
- Java设计模式(装饰者模式-组合模式-外观模式-享元模式)
- extjs4 textfield width
- linux alias命令参数及用法详解--linux定义命令别名alias
- 供SAPI中TTS功能用使的Win8.1语言包安装
- 服务化改造实践 | 如何在 Dubbo 中支持 REST 1
- simulink接收串口数据_JLink RTT连接Simulink
- [51单片机] SPI nRF24L01无线 [可以放在2个单片机里实现通信]
- SHELL下把一个文件附加到另外一个文件,注意编码问题
- 《大学章句》光剑续编
- 数据库完整性实验报告
- 禁用和卸载树莓派 4B 上 avahi-daemon
- 2015全国硕士研究生计算机考研真题(附答案)
- Mybatis传递多个参数的4种方式(干货)
- 洛谷 P2440 木材加工
- php 利用gd库及tcpdf 自动多图片生成pdf
- table 手机 滑动_移动端touch事件滚动
- vue滑杆_Vue无限滑杆组件
- 从单核CPU系统角度看并发问题
- 最短路径算法 | Bellman-Ford Algorithm
- 动图如何在线制作?教你一键在线制作动图
热门文章
- SpringBoot下实现华为云短信验证功能(含代码)
- 京东java电话面试问题_【京东Java面试】京东电话技术面试,面试题目完全没思路。-看准网...
- C#字符串操作,转自韩迎龙博客
- 7月5号cf服务器维护,cf2015年5月7日维护到几点 cf5月7日更新公告
- 巴比馒头:年销售20亿背后的数字化秘密
- win10下cuda版本升级
- JavaScript:世界上最被误解的语言
- JS事件监听手机屏幕触摸事件 Touch
- pika详解 (一)
- 地图如何适应 COVID-19 危机——利用 GIS 绘制飞钓地图