c 第九周上机-副本.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九周实验内容 函数与预处理—1 完成下面实验内容,将程序清单或运行结果截图复制到实验作业文档中。以“学号_姓名”命名此实验作业文档。在截止时间前上传至课程中心。 注:本次作业的选做题有加分! 作业上传方式: 登录课程中心,进入“C++程序设计-黄晓璐”课堂(重修生请注意任课教师,不要选错了!)。查看课程作业,在相应作业的最右侧点击“提交作业”将完成的作业文档上传即可。(若遇到无法上传的情况,请使用Chrome浏览器进行上传操作!当作业上传后,可在相应作业的最右侧看到“查看”按钮,可单击此按钮查看作业是否上传成功!) 一、实验内容和实验要求 1.练习题一 ⑴ 编写程序实现判断一个数是否为素数的功能。 ⑵ 要求 ① 编写一个函数,完成判断素数的功能。 ② 在主函数输入一个整数,输出是否是素数的信息。 ⑶ 思路 ① 主函数中键盘输入一个整数,并作为实参传递给素数判断函数。 ② 素数判断函数中,使用穷举法进行素数判断,函数的返回值作为是否为素数的标志。 ③ 主函数中根据素数判断函数的返回值,输出是否为素数的信息。 ⑷ 程序代码 #includeiostream using namespace std; int prime(int n); //函数声明 int main() { int m; printf(输入一个整数: ); cinm; if (prime(m)) /*根据prime函数的返回值输出相应信息*/ coutm是素数\n; else printf(%d不是素数\n,m); return 0; } prime(int n) /*素数判断函数*/ { int i; for (i=2; i=n-1; i++) if (n%i==0) break; if (i==n) return 1; /*输入数据是素数*/ else return 0; /*输入数据不是素数*/ } ⑸ 运行结果 ⑹ 思考题及问题 如果要求按每行5个数的格式输出200~300中所有素数,如何修改主函数? 主函数修改后代码: #includeiostream using namespace std; int prime(int n); //函数声明 int main() { int m; for(m=200;m=300;m++) if (prime(m)) /*根据prime函数的返回值输出相应信息*/ coutm\t\t; return 0; } prime(int n) /*素数判断函数*/ { int i; for (i=2; i=n-1; i++) if (n%i==0) break; if (i==n) return 1; /*输入数据是素数*/ else return 0; /*输入数据不是素数*/ } 运行结果: 2.练习题二 ⑴ 求两个正整数的最大公约数和最小公倍数。 ⑵ 要求 编写两个函数,分别求最大公约数和最小公倍数,在主函数中输出结果。 ⑶ 思路 ① 求最大公约数函数中,使用辗转相除法完成功能。 ② 最小公倍数等于两个正整数乘积除以最大公约数,因此可以在求最小公倍数函数中调用求最大公约数函数,形成函数嵌套调用。 ⑷ 程序代码 #includeiostream using namespace std; int CommonDivisor(int m, int n) ; int LowestCommonMultiple(int m, int n); //函数声明 int main() { int m, n; cout求最大公约数和最小公倍数 ,请输入m和n\n; cinmn; cout最大公约数为CommonDivisor(m,n),最小公倍数为LowestCommonMultiple(m, n)endl; return 0; } int CommonDivisor(int m, int n) { int remainder, temp; if(nm) { temp=m; m=n; n=temp; } remainder=m%n; //辗转相除法求最大公约数 while( remainder != 0 ) { m=n; n=remainder; remainder=m%n; } r

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档