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语言》翁恺老师 第六周测试题 高精度小数(习题记录)相关推荐

  1. 中国大学MOOC《程序设计入门——C语言》翁恺————答案分享

    这份代码为去年我学习时写的,与现在课程的题目可能有些出入,所以代码仅供参考. 1.输出"Hello World"(5分) 题目内容: 请输出一行,内容为 Hello World 请 ...

  2. 中国大学MOOC浙江大学“程序设计入门——C语言”的PTA练习题目集答案

    第I阶段,包含变量.语句.循环部分的题目,不包括数组.结构.基础算法的题目.已通过PTA测试点,所用知识均为变量.语句.循环.适合初学者观看,博主技术有限,同样以初学者视角来写,有不足之处还请多多指出 ...

  3. 翁恺c语言程序设计入门期末,程序设计入门-C语言 翁恺.doc

    第 PAGE \* MERGEFORMAT 39 页 共 NUMPAGES \* MERGEFORMAT 39 页 程序设计入门-C语言 浙大 翁恺循环类型编程源代码1.#include int ma ...

  4. 程序设计入门——C语言 翁恺 第8周编程练习

    1单词长度(4分) 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以'.'结束.你要输出这行文本中每个单词的长度.这里的单词与语言无关,可以包括各种符号,比如"it's&q ...

  5. 程序设计入门——C语言 翁恺 第一次单元测试

    第一次单元测验 返回 本次得分为:45.00/45.00, 本次测试的提交时间为:2018-05-20, 如果你认为本次测试成绩不理想,你可以选择再做一次. 1 单选(3分) 下列程序段输出结果为: ...

  6. 程序设计入门——C语言 翁恺 期末考试编程题

    最简分式(10分) 题目内容: 分数可以表示为"分子/分母"的形式.编写一个程序,要求用户输入一个分数,然后将其约分为最简分式.最简分式是指分子和分母不具有可以约分的成分了.如6/ ...

  7. 程序设计入门——C语言 翁恺 第1周编程练习

    1逆序的三位数(5分) 题目内容: 逆序的三位数: 程序每次读入一个正三位数,然后输出逆序的数字.注意,当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 提示:用%10 ...

  8. 程序设计入门——C语言 翁恺 第3周编程练习

    1奇偶个数(5分) 题目内容 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据.程序输出读到的数据中的奇数和偶数的个数. 输入格式 一系列正整数,整数的范围是(0,1000 ...

  9. 笔记:中国大学MOOC课程《程序设计入门——C语言》编程练习

    笔记:中国大学MOOC课程<程序设计入门--C语言>编程练习 第7周 数组运算 1 多项式加法 第8周 指针与字符串 2 GPS数据处理 第7周 数组运算 1 多项式加法 题目内容: 一个 ...

最新文章

  1. Java设计模式(装饰者模式-组合模式-外观模式-享元模式)
  2. extjs4 textfield width
  3. linux alias命令参数及用法详解--linux定义命令别名alias
  4. 供SAPI中TTS功能用使的Win8.1语言包安装
  5. 服务化改造实践 | 如何在 Dubbo 中支持 REST 1
  6. simulink接收串口数据_JLink RTT连接Simulink
  7. [51单片机] SPI nRF24L01无线 [可以放在2个单片机里实现通信]
  8. SHELL下把一个文件附加到另外一个文件,注意编码问题
  9. 《大学章句》光剑续编
  10. 数据库完整性实验报告
  11. 禁用和卸载树莓派 4B 上 avahi-daemon
  12. 2015全国硕士研究生计算机考研真题(附答案)
  13. Mybatis传递多个参数的4种方式(干货)
  14. 洛谷 P2440 木材加工
  15. php 利用gd库及tcpdf 自动多图片生成pdf
  16. table 手机 滑动_移动端touch事件滚动
  17. vue滑杆_Vue无限滑杆组件
  18. 从单核CPU系统角度看并发问题
  19. 最短路径算法 | Bellman-Ford Algorithm
  20. 动图如何在线制作?教你一键在线制作动图

热门文章

  1. SpringBoot下实现华为云短信验证功能(含代码)
  2. 京东java电话面试问题_【京东Java面试】京东电话技术面试,面试题目完全没思路。-看准网...
  3. C#字符串操作,转自韩迎龙博客
  4. 7月5号cf服务器维护,cf2015年5月7日维护到几点 cf5月7日更新公告
  5. 巴比馒头:年销售20亿背后的数字化秘密
  6. win10下cuda版本升级
  7. JavaScript:世界上最被误解的语言
  8. JS事件监听手机屏幕触摸事件 Touch
  9. pika详解 (一)
  10. 地图如何适应 COVID-19 危机——利用 GIS 绘制飞钓地图