C语言实验三报告.docxVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言实验三报告

北京电子科技学院(BESTI)实验报告课程:程序设计基础班级:姓名:学号:成绩:指导教师:张晓昆实验日期:实验密级:预习程度:实验时间:15:30~18:30仪器组次:必修/选修:必修实验序号:3实验名称:数组编程练习实验目的与要求:掌握数组的定义、赋值和输入/输出方法,注意数组的定义,其下标从0到规定长度-1,不要越界;用循环编程访问数组,巩固前面的知识。掌握字符数组的使用,了解字符串函数的使用。掌握与数组有关的算法。实验内容一、使用数组精确计算M / N(0MN100)的值。利用数组精确计算M/N(0<M<N≤100)的值。如果M/N是无限循环小数,则计算并输出它的第一个循环节,同时要求输出循环节的起始和终止位置(小数位的序号)。例如:M=1,N=6,输出M/N=0.16,该数是循环小数,其循环节从小数点后第二位至第二位。要求:小数点后最多输出50位;输出最少4个运算结果。分析:利用数组保存每一位商,因为mn,所以结果必为纯小数。先将m扩大10倍:m=m*10; 第一位商为m/n,第一个余数为m=m%n,第二位商为m/n,第二个余数为m=m%n,……当余数为0时,结束运算,输出所有位商。若余数总不为0,即出现循环时,考虑两个循环节的首位出现时,它们遇到的被除数(也即前一次运算的余数必定相同),因而使用一个数组,当被除数为i时,就将数组的第i个元素作个标记?将其内容记录为j,表示这个余数是进行第j次除法运算时得到的。下一次运算如果发现这个数组元素被赋过值,说明赋值的那次与这次的被除数相同,出现循环小数的第一个循环节。输出商到一个循环节尾,并报告循环从哪一位始至哪一位止。#include stdio.h#include stdlib.h#define SIZE 50 //定义字符串常量int linearSearch1(int a, int H[],int b); //线性查找的函数原型int linearSearch2(int a, int H[],int b); //线性查找的函数原型int main(){int m;int n;inti;int j;int quotient[ SIZE ] = {0};int h[50] = {0};printf(Please enter two number m and n(0mn100):\nm=);scanf(%d, m); //输入除数printf(n=);scanf(%d, n); //输入被除数for(i = 0; i SIZE; i++){ m = m * 10; //将余数乘以10 h[i] = m; //然后赋给h[i] quotient[ i ] = m / n; //将商赋给quotient[ i ] m = m % n; //将余数附回给m //判断若商是否为0,若为0说明可被除尽,打印if(m == 0){printf(m/n=0.);for(j = 0; j = i; j++){printf(%d,quotient[ j ]); }break; } //若该有限循环小数循环节超过50位,输出if(m * 10 != linearSearch1(m * 10, h, i) i == SIZE - 1){printf(m/n=0.);for(j = 0; j SIZE; j++){printf(%d,quotient[ j ]); } } if(m * 10 == linearSearch1(m * 10, h, i) ){ //若该有限循环小数循环节不超过50位,输出一个循环节printf(m/n=0.);for(j = 0; j = i; j++){printf(%d, quotient[ j ]); } if(quotient[i] == linearSearch1(quotient[i], quotient, i)){ //查找循环节位置printf( 该数是循环小数,其循环节从小数点后第%d位至第%d位,linearSearch2(m * 10, h, i) + 1, i + 1);break; }else{printf( 该数是循环小数,其循环节从小数点后第%d位至第%d位,linearSearch2(m * 10, h, i) + 1, i + 1);break; }

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档