41504199-第三次实验作业2016分析报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三次实验内容:循环结构程序设计 实验内容1 实验课本第四次实验部分 练习题一 2.练习题二 程序运行结果 方法二:用辗转相除法求最大公约数。 思考题及问题 ① 将 if (m n) { r=m; m=n; n=r; } 去掉,分别按m的值小于n的值情况输入数据,程序运行结果如下: ② 分别输入m或n的值为负数,程序运行结果如下: ③ 为什么在用辗转相除法求最大公约数时,输出结果是m,而不是r。 这里的r为m和n的余数,最后的计算结果为0;m为最后一次的计算的约数,所以最后输出m; ④ 试将辗转相除法中的do-while循环语句,改为while循环语句实现。程序如下: #include iostream #include cmath using namespace std; /* run this program using the console pauser or add your own getch, system(pause) or input loop */ int main(int argc, char** argv) { int x,y; int m,n,r,g; cout输入2个数x,y:; cinxy; m=abs(x); n=abs(y); if(mn) {r=m; m=n; n=r; } while (r!=0) { r=m%n; m=n; n=r; } cout辗转相除法求最大公约数:mendl; g=abs(x)*abs(y)/m; cout最小公倍数:gendl; return 0; } 3.练习题三 4.练习题四 思考题及问题 如果输出9行的图形,应如何修改程序?运行结果如下: 如果输出图形向右平移25个字符位置,程序应该如何实现?运行结果如下 ③ 如果需将输出的两个图形并排打印,程序应如何实现?以输出图①和图②为例,应输出以下图形,程序代码如下 #include iostream #include cmath using namespace std; int main(int argc, char** argv) { int i,j,k; for(i=1;i=9;i++) { for(j=1;j=i;j++) cout ; for(j=19-2*i;j0;j--) cout*; for(k=-4;k=i;k++) cout ; for(k=10-i;k0;k--) cout*; cout\n; } cout\n; for(i=1;i=9;i++) { for(j=10-i;j0;j--) cout ; for(j=1;j=i;j++) cout2*j-1; if(i=5) {for(j=15-i;j0;j--) cout ; for(j=1;j=2*i-1;j++) cout(char)(A+i-1); cout\n; } else { cout ; for(j=9-2*(i-5);j0;j--) cout(char)(E-i+5); cout\n; } } cout\n; return 0; } 程序设计 1.自测练习一 编写一个程序,统计输出各位数之和为9,且能被5整除的五位数的个数。 提示: 遍历所有的五位数,对每一个五位数判定是否符合“输出各位数之和为9,且能被5整除”。 设n为一个五位数,则其个位数为n%10,十位数为n/10%10,百位数为n/100%10…… 2.自测练习二 编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。 提示: 思路一:用双重循环,外层循环重复n次,内层循环求(1+2+3+…+i),将结果累加到s中。 思路二:用单层循环,通过累加变量p,每次循环都将p累加一个i,则p即为(1+2+3+…+i),再将p累加到s中。 3.自测练习三 编写一个程序,求s=4!+6!+8!。 4.自测练习四 编写一个程序,求出1~1000之间的所有完全数。所谓完全数是指:该数的各因子之和正好等于该数本身,如6=1+2+3。 提示: 遍历1~1000之间的所有整数,对每一个整数i测试其是否为完全数。 对整数i而言,若i%j=0,则j为i 的因子。对从1~sqrt(i)的每一个j进行测试其是否为i的因子。

文档评论(0)

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

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

1亿VIP精品文档

相关文档