实验报告(作业).docVIP

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

实验四 计网114 1107300409 罗双杰 一 实验目的 熟练掌握编程,掌握函数的原理。 二 实验仪器设备及实验环境Visual C++ 6.0 联想笔记本个人电脑 Windows 7 实验内容 1.产生1~100之内的随机数,由用户猜出这个数的值。给用户10次机会,若用户在10次内猜对,显示“成功”,否则显示“失败”并显示答案。每猜一次不对都要给出提示:还有几次机会。 算法实现:先通过随机输入的函数来输入一个整数。再用for循环语序,一次输入十个数,将输入数和随机数通过==来比较,由此判断是否为随机数;如果是的话,就显示成功,反之就输出失败;如果失败就让次数减一。再输出数字。 源代码: #includestdio.h #includetime.h #includeiostream int suijishu(); int main(void) { int n,m,chance,i; n=suijishu(); chance=1; while(chance=10) { scanf(%d,m); if(m==n) break; else if(chance!=10) printf(错误,还有%d次机会\n,10-chance); chance++; } if(chance=10) printf(成功); else printf(失败,这个数为%d\n,n); return 0; } int suijishu() { int n; srand((unsigned)time(NULL)); n=rand()%100+1; return n; } 运行结果与分析: 结果与设想一致。 2.编写求最大公约数和最小公倍数的函数,在主函数中分别调用这两个函数 算法实现:递归法求最大公约数:通过调用函数div(int, int),若用最大整除除最小结果为零,则返回较小的数;若不等于零,返回(j,i%j),此时j的值赋给了i,i%j的值赋给了j。直到i%j==0才结束调用,输出最大公约数;求最小公倍数:对于一大一小两个数i和j,通过调用函数mul(int, int),函数中通过循环,若i%j==0,则循环停止,则i是最小公倍数,若不是,i就增加一倍,再判断,直到i%j==0;此时i就为最小公倍数。 源代码: #include stdio.h int div(int , int); int mul(int , int); void main() { int x, y, t, d, m; printf(Enter x and y: ); scanf(%d%d, x, y); if (xy) { t=x; x=y; y=t; } d=div(x,y); m=mul(x,y); printf(%d是%d和%d的最大公约数\n, d, x, y); printf(%d是%d和%d的最大公倍数\n, m, x, y); } int div(int i, int j) { if (i%j==0) return j; return div(j,i%j); } int mul(int a, int b) { int z=a; while (1) { if (a%b==0) break; a+=z; } return a; } 运行结果: 结果与设想一致。 3.编写个函数,以实现对十六进制的参数转换为十进制返回,主函数调用测试。 算法实现:通过十六进制的转法,遇十六进一,再将输入的数转换为具体数值,再将其换算,遇十进一。 源代码: #include stdio.h #include string.h #includemath.h int t(char a[]); int main() { int i,j,c,n=0 char a[20]; char b[20]; printf(请输入一个十六进制的数:\n); scanf(%s,a); n=t(a); printf(%d\n,n); return 0; } int t(char a[]) { int j,i,n = 0; for (i=strlen(a)-1,j=0;i=0;i--,j++) { if(a[i]=0a[i]=9) n+=pow((long double)16,j)*(a[i]-0); else if (a[i]=aa[i]=f) n+=pow((long double)16,j)*(a[i]-a+10); else if (a[i]=Aa[i]=F) n+=pow((long

文档评论(0)

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

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

1亿VIP精品文档

相关文档