循环结构程序设计讲解_第1页
循环结构程序设计讲解_第2页
循环结构程序设计讲解_第3页
循环结构程序设计讲解_第4页
循环结构程序设计讲解_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+程序设计 lab4 学号:41130091 班级 :材料1104 姓名:丁振文实验4 循环结构程序设计一、实验目的 掌握while语句、do-while语句和for语句的功能,能够用这些语句实现循环结构程序设计。 掌握循环语句嵌套使用的基本形式,能够用循环语句实现多重循环。 掌握在循环结构程序中使用break语句和continue语句改变程序流程的方法。 能够用循环实现累加、累乘、穷举、迭代等常用算法。(5) 学会程序调试(课堂举例讲解)二、实验内容和实验要求 1练习题一 编写程序,求100以内的奇数和,即:sum=1+3+5+ +99 程序代码#includeusing namespac

2、e std;int main()int n,sum;n=1;sum=0;while(n=99)sum=sum+n;n=n+2;coutsum=sumn;return 0;(3) 运行结果(贴图)(4) 将while循环语句改为do-while循环语句,程序代码:#includeusing namespace std;int main()int n,sum;n=1;sum=0;dosum=sum+n;n=n+2; while(n=99);coutsum=sumn;return 0;2练习题二(1) 完成课本P70页的程序题3(2) 源代码#includeusing namespace std;i

3、nt main()char ch;int let,dig,spa,oth;let=dig=spa=oth=0; coutInput a string:=A&ch=a&ch=0&ch=9)dig+;else if(ch= )spa+;elseoth+;coutleter=let,digit=dig,space=spa,other=othendl;return 0;(3) 运行结果贴图3练习题三(1)完成课本P70页程序题1(2)源代码#includeusing namespace std;int main()int n,m6,k,i,j=0;coutn;k=n;while(n!=0)mj=n%1

4、0;n=n/10;j+;coutk是j位的数endl;cout逆序输出为;for(i=0;ij;i+)coutmi;coutendl;return 0;(3)运行结果贴图4练习题四 编程序,输出以下图形* * * * * * * * *1 13 135 135713579ABBBCCCCCDDDDDDD CCCCC BBB A 要求应该使用双重循环。外循环体中包含两个并列的for循环语句,分别控制每行输出的空格符和非空格字符(如:星号);用cout “n”; 语句控制输出一行字符之后回车换行。 程序代码#includeusing namespace std;int main()int i,j;

5、for(i=1;i=5;i+)for(j=1;j=i;j+)cout0;j-)cout*;coutn;coutn;for(i=1;i=5;i+) for(j=1;j=i;j+) cout0;j-) cout*; coutn;coutn;for(i=1;i0;j-) cout ; for(j=1;j=i;j+) cout2*j-1;coutn;coutn;for(i=1;i0;j-) cout ;for(j=1;j=2*i-1;j+) cout(char)(A+i-1);coutn;for(i=1;i=3;i+)for(j=1;j=i+1;j+)cout0;j-)cout(char)(D-i);

6、coutn;return 0; 运行结果(贴图) 运行结果 思考题及问题 如果输出10行的图形,应如何修改程序?#includeusing namespace std;int main()int i,j;for(i=1;i=10;i+)for(j=1;j=i;j+)cout0;j-)cout*;coutn;coutn;for(i=1;i=10;i+) for(j=1;j=i;j+) cout0;j-) cout*; coutn;coutn;for(i=1;i0;j-) cout ; for(j=1;j=(i+1)/2;j+)if(2*i-1=9) cout 2*j-1;elsecout2*j-

7、i;coutn;coutn;for(i=1;i0;j-) cout ;for(j=1;j=2*i-1;j+) cout(char)(A+i-1);coutn;for(i=1;i=9;i+)for(j=1;j=i+1;j+)cout0;j-)cout(char)(J-i);coutn;return 0; 如果输出图形向右平移25个字符位置,程序应该如何修改?#includeusing namespace std;int main()int i,j;for(i=1;i=5;i+)for(j=1;j=25+i;j+)cout0;j-)cout*;coutn;coutn;for(i=1;i=5;i+)

8、 for(j=1;j=25+i;j+) cout0;j-) cout*; coutn;coutn;for(i=1;i0;j-) cout ; for(j=1;j=i;j+) cout2*j-1;coutn;coutn;for(i=1;i0;j-) cout ;for(j=1;j=2*i-1;j+) cout(char)(A+i-1);coutn;for(i=1;i=3;i+)for(j=1;j=i+26;j+)cout0;j-)cout(char)(D-i);coutn;return 0;三、自测练习 1自测练习一编写一个程序,统计输出各位数之和为9,且能被5整除的五位数的个数。源代码:#in

9、cludeusing namespace std;int main()int a,b,c,d,i,j;j=0;for(i=1000;i=9999;i+)a=i/1000;b=i%1000/100;c=i%100/10;d=i%10;if(a+b+c+d=9|a+b+c+d=4)j+;cout各位数之和为9且能被5整除的5位数的个数为:jn;return 0;运行结果(贴图):问答题:表述“n能被5整除”的条件表达式唯一吗?试写出2种以上。第一种:第二种:2自测练习二编写一个程序,求s=1+(1+2)+(1+2+3)+(1+2+3+n)的值。源代码:#includeusing namespace

10、 std;int main()int n,m,s,i;coutn;m=0;s=0;for(i=1;i=n;i+)m=m+i;s=s+m;couts=1+(1+2)+(1+2+3)+-+(1+2+3+-+n)=sn;return 0;运行结果(贴图):3自测练习三编写一个程序,求s=4!+6!+8!。 源代码:#includeusing namespace std;int main()int m,s,p,q;q=0;for(m=4;m=1;p-)s=s*p; q=q+s;couts=4!+6!+8!=qn;return 0;运行结果(贴图):4自测练习四编写一个程序,求出11000之间的所有完全

11、数。所谓完全数是指:该数的各因子之和正好等于该数本身,如6=1+2+3。源代码:#includeusing namespace std;int main()int m,n,i;for(n=6;n=1000;n+)for(m=0,i=1;in;i+)if(n%i=0) m=m+i;if(m=n)coutnt;return 0;运行结果(贴图):5自测练习五(作业题验证)计算的近似值,的计算公式为:要求:精度为10-5,并输出n的大小 源代码: #include#includeusing namespace std;int main() float n,m,s,p,t;m=2.0;n=0.0;p=1.0;don=n+1; s=p; p=(n*2)*(n*2)/(2*n-1)/(2*n+1); t=m;m=m*p;while(m-t)0.00001);cout圆周率为:mn;coutn=nn; return 0;运行结果(贴图):6自测练习六(课堂测验验证)用do while循环输出两个数的最大公约数和最小公倍数代码:#include#includeusing nam

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论