已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.5 实验四 循环结构程序设计一、实验目的与要求1 熟练掌握用while语句,do-while语句实现循环的方法。2 熟练掌握用for语句实现循环的方法。3 对循环语句的三种形式进行分析、比较,以掌握各种形式的共同之处与其特点。4 掌握循环结构的嵌套,掌握break语句和continue语句在循环体中的作用。5 实验4学时二、实验内容1. 程序验证题与改错题(1)程序验证从键盘输入一个整数,在屏幕上将其逆序数输入,例如输入8193,输出3918。#includevoid main() int x,number; printf(请输入一个整数:); scanf(%d,&x); do x=number%10; number=number/10; printf(%d, x); while(number!=0); printf(n);答:#includevoid main() int x,number; printf(请输入一个整数:); scanf(%d,&number); do x=number%10; number=number/10; printf(%d, x); while(number!=0); printf(n);如果输入的是一个负整数,程序应该如何改?答:#include#includevoid main() int x,number; printf(请输入一个整数:); scanf(%d,&number); if(number0) printf(-); number=fabs(number); do x=number%10; number=number/10; printf(%d, x); while(number!=0); printf(n);(2)程序改错计算表达式1+2!+3!+10!的值,改正下面程序中的多处错误。源程序(有错误的程序)#includevoid main(void)int sum1,sum2, i,j; for(i=1;i10;i+) for(j=1,j=i,i+) sum1*=j; sum1+=sum2;printf(%d ,sum1); 答:#includevoid main()int sum1=1,sum2=0,i,j;for(i=1;i10;i+)for(j=1;j=i;j+)sum1*=j;sum2+=sum1;printf(%d,sum2);3一般编程题编程题1 用三种循环结构(while语句、do-while语句、for语句),求1000以内奇数的和。答:#includevoid main()int n=1000,i=1,j=1,k,sum1=0,sum2=0,sum3=0;while(i=n)sum1+=i;i+;i+;printf(while语句求得奇数和为 :%dn,sum1);dosum2+=j;j+;j+;while(j=n);printf(do-while语句求得奇数和为 :%dn,sum2);for(k=1;k=n;k+)sum3+=k;k+;printf(for语句求得奇数和为 :%dn,sum3);编程题2输入一个正整数n,计算 的前n项之和,输出时保留6位小数。输入输出示例1:Enter n:5sum = 1.787302输入输出示例2:Enter n:23sum = 2.549541答:#includevoid main()int n,i=1;double a,sum1=0;printf(Enter n:);scanf(%d,&n);while(i=n)a=(2*i-1);sum1+=1/a;i+;printf(sum=%lfn,sum1);编程题3 编写程序求a+aa+aaa+aaa,a是一个数字,有n个a,实际的n和a值由键盘输入,输出格式如下示例(此时a是3,n是5)。 3+33+333+3333+33333=37035 提示:将a乘上10倍并加上a,变成aa,再将aa乘上10倍并加上a,变成aaa,依次类推,在变化的同时将a,aa,aaa进行累加答:#include#includevoid main()int a,n,i,sum2=0,sum1=0;scanf(%d %d,&a,&n);for(i=0;in-1;i+)sum1+=a*(int)pow(10,i);sum2+=sum1;printf(%d+,sum1);sum1+=a*(int)pow(10,i);sum2+=sum1;printf(%d=,sum1);printf(%dn,sum2);编程题4 统计从键盘输入的一行字符中的英文字母的个数。答:#includevoid main()char ch;int i=0;while(ch=getchar()!=n)if(ch=a&ch=A&ch=Z)i+;printf(有%d个英文字母n,i);4较难编程题编程题1输出1-999之间的所有同构数。(同构数:一个数出现在它的平方数的右端,这个数就称为同构数,如5出现在25的右端,5是同构数,25出现在625右端,25也是同构数。答:#include#includevoid main()int n=1000,k=100,m=10,i,a,b;for(i=10;in;i+)if(i=k)m=k;a=i%m;b=(int)pow(a,2);if(b=i)printf(%d ,i);printf(n);编程题2 如下程序利用c语言的数学函数库,求解sinx的近似值, 根据高等数学的公式,sinx =x-x3/3!+x5/5!-.(-1)k-1*x2k-1/(2k-1)!+.,直到最后一项的绝对值小于1e-7为止。请阅读此程序,并根据cosx =1-x2/2!+x4/4!-.(-1)k*x2k/(2k)!+.,实现计算cosx的程序代码。(exph4_1.cpp)答:#include#includevoid main()double x,t,sum,i=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级育婴师考试试题及答案
- 职业卫生技术服务专业技术人员考试(职业卫生评价)例题及答案(湖南省)
- 内蒙古自治区乌兰察布市集宁区第二中学2025-2026学年高二下学期7月期末地理试题(文字版含答案)
- 下肢静脉血栓预防及护理考核试题及答案
- 龋病预防试题及答案
- 纠正预防措施培训试题及答案
- 河北单招职业素养考试题及答案
- 多重耐药菌医院感染预防与控制培训考核试题及答案
- 保山医专单招专业试题及答案
- 2026年自考真题自考试题及答案
- 2025-2026学年湖北省武汉市江岸区八年级(下)期中道德与法治试卷(含答案)
- 《DL-T 1482-2023架空输电线路无人机巡检作业技术导则》2025实施指南(完整版)
- 2026年北京市中考物理试卷(含解析)
- 北京中考英语听力高频词汇
- 国家开放大学《互联网金融概论》形成性考核试题及答案
- 校本教材-无人机空气动力学与飞行原理
- DBJ33-T 1358-2025 建筑与市政工程有限空间作业安全技术规程
- 雨课堂学堂在线学堂云《高级护理实践(实务)(南京医科)》单元测试考核答案
- 2026年县域旅游集散中心运营模式创新案例研究
- 电线电缆追溯制度规范
- 矿山尾矿库防渗施工方案
评论
0/150
提交评论