- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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的因子。
您可能关注的文档
- 2014年创新实验室第一次课教程解决方案.ppt
- 2014年第九章压强教程解决方案.ppt
- 20164.25北京市西城区中考一模物理兼分析报告.doc
- 30701构件式玻璃幕墙分析报告.doc
- 2014年定西马铃薯晚疫病的调查教程解决方案.ppt
- 080715中国银屑病治疗指南new分析报告.doc
- 2014年东莞市北师大东莞石竹附属学校八年级生物上册第二批教学能手评选5.2.2先天性行为和学习行为教程解决方案.ppt
- 131636工程项目环境影响评价方法满分100分析报告.doc
- 2014年高考第30、31选考题答卷海师附中胡爱民教程解决方案.ppt
- 2014年高考全国新课标1理综化学教程解决方案.ppt
- 0809210118-郝爱欢--毕业论文2012-05-19分析报告.doc
- 2014年宁波华侨城推广计划51p教程解决方案.ppt
- 2014年宁波中考复习第43课太阳系银河系宇宙四季星空教程解决方案.ppt
- 2014年诺贝尔和平奖获得者-马拉拉教程解决方案.ppt
- 201404703028系统辨识分析报告.doc
- 2014年青岛版二年级数学下册《千以内数的认识》教程解决方案.ppt
- A4纸工作法原理-表格学习术分析报告.doc
- AAAAAAAA--山东省淄博市2016届高三下学期第一次模拟考试语文Word版含分析报告.doc
- ABAQUS分析报告.doc
- 2014年全国高中生化学竞赛第10讲有机高分子教程解决方案.ppt
文档评论(0)