版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计 lab4 学号:41130091 班级 :材料1104 姓名:丁振文实验4 循环结构程序设计一、实验目的 掌握while语句、do-while语句和for语句的功能,能够用这些语句实现循环结构程序设计。 掌握循环语句嵌套使用的基本形式,能够用循环语句实现多重循环。 掌握在循环结构程序中使用break语句和continue语句改变程序流程的方法。 能够用循环实现累加、累乘、穷举、迭代等常用算法。(5) 学会程序调试(课堂举例讲解)二、实验内容和实验要求 1练习题一 编写程序,求100以内的奇数和,即:sum=1+3+5+ +99 程序代码#include<iostream&g
2、t;using namespace std;int main()int n,sum;n=1;sum=0;while(n<=99)sum=sum+n;n=n+2;cout<<"sum="<<sum<<"n"return 0;(3) 运行结果(贴图)(4) 将while循环语句改为do-while循环语句,程序代码:#include<iostream>using namespace std;int main()int n,sum;n=1;sum=0;dosum=sum+n;n=n+2; while(n&l
3、t;=99);cout<<"sum="<<sum<<"n"return 0;2练习题二(1) 完成课本P70页的程序题3(2) 源代码#include<iostream>using namespace std;int main()char ch;int let,dig,spa,oth;let=dig=spa=oth=0; cout<<"Input a string:"<<endl;while(ch=getchar()!='n')if(ch>=
4、'A'&&ch<='Z'|ch>='a'&&ch<='z')let+;else if(ch>='0'&&ch<='9')dig+;else if(ch=' ')spa+;elseoth+;cout<<"leter="<<let<<",digit="<<dig<<",space="<&
5、lt;spa<<",other="<<oth<<endl;return 0;(3) 运行结果贴图3练习题三(1)完成课本P70页程序题1(2)源代码#include<iostream>using namespace std;int main()int n,m6,k,i,j=0;cout<<"Input n:"cin>>n;k=n;while(n!=0)mj=n%10;n=n/10;j+;cout<<k<<"是"<<j<&l
6、t;"位的数"<<endl;cout<<"逆序输出为"for(i=0;i<j;i+)cout<<mi;cout<<endl;return 0;(3)运行结果贴图4练习题四 编程序,输出以下图形* * * * * * * * *1 13 135 135713579ABBBCCCCCDDDDDDD CCCCC BBB A 要求应该使用双重循环。外循环体中包含两个并列的for循环语句,分别控制每行输出的空格符和非空格字符(如:星号);用cout <<“n”; 语句控制输出一行字符之后回车换行。
7、程序代码#include<iostream>using namespace std;int main()int i,j;for(i=1;i<=5;i+)for(j=1;j<=i;j+)cout<<" " for(j=11-2*i;j>0;j-)cout<<"*"cout<<"n"cout<<"n"for(i=1;i<=5;i+) for(j=1;j<=i;j+) cout<<" " for(j=
8、6-i;j>0;j-) cout<<"*" cout<<"n"cout<<"n"for(i=1;i<=5;i+) for(j=6-i;j>0;j-) cout<<" " for(j=1;j<=i;j+) cout<<2*j-1;cout<<"n"cout<<"n"for(i=1;i<=4;i+) for(j=5-i;j>0;j-) cout<<&
9、quot; "for(j=1;j<=2*i-1;j+) cout<<(char)('A'+i-1);cout<<"n"for(i=1;i<=3;i+)for(j=1;j<=i+1;j+)cout<<" "for(j=7-2*i;j>0;j-)cout<<(char)('D'-i);cout<<"n"return 0; 运行结果(贴图) 运行结果 思考题及问题 如果输出10行的图形,应如何修改程序?#includ
10、e<iostream>using namespace std;int main()int i,j;for(i=1;i<=10;i+)for(j=1;j<=i;j+)cout<<" " for(j=21-2*i;j>0;j-)cout<<"*"cout<<"n"cout<<"n"for(i=1;i<=10;i+) for(j=1;j<=i;j+) cout<<" " for(j=11-i;j>
11、;0;j-) cout<<"*" cout<<"n"cout<<"n"for(i=1;i<=20;i=i+2) for(j=21-i;j>0;j-) cout<<" " for(j=1;j<=(i+1)/2;j+)if(2*i-1<=9) cout<<" "<<2*j-1;elsecout<<2*j-i;cout<<"n"cout<<"
12、n"for(i=1;i<=10;i+) for(j=11-i;j>0;j-) cout<<" "for(j=1;j<=2*i-1;j+) cout<<(char)('A'+i-1);cout<<"n"for(i=1;i<=9;i+)for(j=1;j<=i+1;j+)cout<<" "for(j=19-2*i;j>0;j-)cout<<(char)('J'-i);cout<<"
13、n"return 0; 如果输出图形向右平移25个字符位置,程序应该如何修改?#include<iostream>using namespace std;int main()int i,j;for(i=1;i<=5;i+)for(j=1;j<=25+i;j+)cout<<" " for(j=11-2*i;j>0;j-)cout<<"*"cout<<"n"cout<<"n"for(i=1;i<=5;i+) for(j=1;j
14、<=25+i;j+) cout<<" " for(j=6-i;j>0;j-) cout<<"*" cout<<"n"cout<<"n"for(i=1;i<=5;i+) for(j=31-i;j>0;j-) cout<<" " for(j=1;j<=i;j+) cout<<2*j-1;cout<<"n"cout<<"n"for(i=1
15、;i<=4;i+) for(j=30-i;j>0;j-) cout<<" "for(j=1;j<=2*i-1;j+) cout<<(char)('A'+i-1);cout<<"n"for(i=1;i<=3;i+)for(j=1;j<=i+26;j+)cout<<" "for(j=7-2*i;j>0;j-)cout<<(char)('D'-i);cout<<"n"return 0
16、;三、自测练习 1自测练习一编写一个程序,统计输出各位数之和为9,且能被5整除的五位数的个数。源代码:#include<iostream>using 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位数的个数为:"<<j<<"n"return 0
17、;运行结果(贴图):问答题:表述“n能被5整除”的条件表达式唯一吗?试写出2种以上。第一种:第二种:2自测练习二编写一个程序,求s=1+(1+2)+(1+2+3)+(1+2+3+n)的值。源代码:#include<iostream>using namespace std;int main()int n,m,s,i;cout<<"输入n的数值:"cin>>n;m=0;s=0;for(i=1;i<=n;i+)m=m+i;s=s+m;cout<<"s=1+(1+2)+(1+2+3)+-+(1+2+3+-+n)=&qu
18、ot;<<s<<"n"return 0;运行结果(贴图):3自测练习三编写一个程序,求s=4!+6!+8!。 源代码:#include<iostream>using namespace std;int main()int m,s,p,q;q=0;for(m=4;m<=8;m=m+2)for(s=1,p=m;p>=1;p-)s=s*p; q=q+s;cout<<"s=4!+6!+8!="<<q<<'n'return 0;运行结果(贴图):4自测练习四编写一个
19、程序,求出11000之间的所有完全数。所谓完全数是指:该数的各因子之和正好等于该数本身,如6=1+2+3。源代码:#include<iostream>using namespace std;int main()int m,n,i;for(n=6;n<=1000;n+)for(m=0,i=1;i<n;i+)if(n%i=0) m=m+i;if(m=n)cout<<n<<"t"return 0;运行结果(贴图):5自测练习五(作业题验证)计算的近似值,的计算公式为:要求:精度为10-5,并输出n的大小 源代码: #include<iostream>#include<cmath>using namespace std;int main() float n,m,s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部编版五年级语文下册第13课《人物描写一组》精美课件
- 施工总承包管理及协调
- 自考《劳动法(00167)》考前强化考试题库(含答案)
- 畜牧法规知识考试题库及答案
- 2025年正德职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年晋中职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析
- 2025年攀枝花攀西职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 中班数学主题活动策划方案模板五篇
- 药品运输合同
- 林业承包合同标准范本
- 2025民政局离婚协议书范本(民政局官方)4篇
- 2024年03月四川农村商业联合银行信息科技部2024年校园招考300名工作人员笔试历年参考题库附带答案详解
- 小学一年级数学上册口算练习题总汇
- 润滑油知识-液压油
- 2024年江苏省中医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 临床思维能力培养
- 人教版高中物理必修第三册第十章静电场中的能量10-1电势能和电势练习含答案
- 《中国香文化》课件
- 2024简易租房合同下载打印
- 阿基米德课件
- 2024年步步高高考英语大一轮复习(新人教版)基础知识默写本必修第一册含答案
评论
0/150
提交评论