实验4循环控制 答案

上传人:mar****e5 文档编号:157278197 上传时间:2022-09-29 格式:DOCX 页数:8 大小:24.14KB
返回 下载 相关 举报
实验4循环控制 答案_第1页
第1页 / 共8页
实验4循环控制 答案_第2页
第2页 / 共8页
实验4循环控制 答案_第3页
第3页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验4循环控制班级:学号:姓名:日期:一、实验目的(1)熟悉掌握用wlule语句、dowhile语句和for语句实现循环的方法。(2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。(3)进一步学习调试程序。二、实验内容1. while 语句wlule语句的一般形式为:while(表达式)语句;while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。编程:求1-100的奇数和。提示:循环变量的步长值为2。include void inaiii()fimt i=l,sum=0;while(i=100)(sum=sum+i;i=i+2;)piiiitf(sum=%dii,.sum);)sun=2500Ppess any key to continue.2. do-while 句do-wlule语句的一般形式为:dofI语句;wlule(表达式);do-wlule语句的语义是:先执行循环体语句一次,再判别表达式的值,若为真(非0) 则继续循环,否则终止循环。编程:求1一100的偶数和。include void main。mt i=0.sum=0:do(i=i+2;sum=sum-ri;while(i100);prmtHsum=%dnH.sum);)sum=2550Press any key to continue3. for语句其一般形式为:for(表达式1;表达式2;表达3)语句;for语句的语义是:首先计算表达式1的值。再计算表达式2的值,若值为真(非0)则执行循环体一次,否则结束循环。执行循环体后再计算表达式3的值,转回第2步重复执行。下列程序用于输出fibnocci数列的前20项,每行输出5个。请填空。说明:fibnocci数列的前两项均为1,以后各项等于其前两项之和。include void inaui()fIintfl=l;f2=l;printf(Hn%d %dn=2;fbr(i=l; i=18 ;i+)if(n%5=0) pnnt 町 1T);f3=fl+f2 :pnntff%d ”,f3);n+;fl=f2;f2=f3;112 3 5 13 21 34 5589 144 233 377 610987 159? 2584 4181 6765 Press any key to continue4. break/continue 语句:说明以下各程序的功能及运行结果并总结Break和contmue语句的不同用法。#include void mam()(int i,sum=0;foi (i=l;i5) break;sum=sum+i;p tinrfV su m=% 5 d W, sum);sim= 15Press ans key to continueinclude void mam()(int i,sum=0;for (i=l;i=10;i+)if (i=5) continue;sum=sum+i;pHnrfVsuni=%5diT,suni);sum= 40Press any key to continue编程:输出100以内能被7整除的数。提示:对7100的每一个数进行测试,如该数不能被7整除,即模运算不为0,则由 continue语句转去下一次循环。只有模运算为0时,才能执行后面的piintf语句,输出能被 7整除的数。#mclude void niaiii()mt i;for(i=7 ;i v= 10 0; i+)(if(i % 7 !=0)contmue;pnntf(”6d”,i);pnntR侦);714212835424956637077849198Press anykeyto continue5. 循环嵌套三种循环控制语句可以互相嵌套,即在一个循环体内部又可以出现另一循环。输出100 以内的素数。素数是只能被1和它本身整除的数。判断素数的方法:用一个数分别去除2到这个数 减1 (或2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。include include void main()int nj;fbr(n=2 ;n=l 00;n+)fbr(i=2;i=n)本程序中,第一层循环表示对2-100的数逐个判断是否是素数,在第二层循环中则对 数n用2-11-1逐个去除,若某次除尽则跳出该层循环,说明不是素数。如果在所有的数 都是未除尽的情况下结束循环,则为素数,此时有i=n,故可经此判断后输出素数。然后 转入下一次大循环。535711131719232981374143475359616771|7379838997Ppessany key to continue.编程:输出9*9I诀表。提示:分行与列考虑,共9行9列,外循环控制行,内循环控制列。include void main()int ij;fbr(i=l;i=9;i+)(fbr(j=ljn,观察结果是否正确。再输入时,使观察结果是否正确。修改程序,不论m和n为何值(包括负数),都能得到正确的结果。#mclude void main()fint pj,naiLtemp;printffplease mput 2 number:n);scanff%d%d”,&n,&m);ftemp=n;n=m:m=temp;p=n*m;while(m!=0)fr=n%m;n=m:m=i;printfftheii common divisor is %dnn);printfftheir common multiple is %dn”,p/n);)plea.se input 2 number;24 52 their comnon diuisor is 4 their comnon multiple is 312 Press any key to continue(2) 输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。得到正确答案后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个 数。include void niam()clw c;int letter=0.space=0jigit=0,othei-0;printffplease input:);while(c=getchai() !=,n,)iRc=a & cv=N | c=A & cv=Z)letter+;else iRc=,)space+;else iRc=0 & cv=9)digit+;elseother+;pnntf(Mlettei-%d,space=%d.digit=%d,othei-%dHJettei;space,digit,other);please input : 849654kj$fiurer rturtir J f $jerl23#? P4le t te r =18, s pac e =2dig it =10 o t her=6Pres s any key to continue(3) 求100-200之间的素数,把它们按每行5个素数全部显示出来,并给出素数的个 数。#mclude #mclude void main()mt i,n=0,k;for(i=100; imt(sqrt )(n+;pnntR”4d”,i);if(n % 5 =0) printRf);)101 103 127 131 151 157 179 18110?13716319109 113139 14916? 173193 197199Press any hey to continue(4)用牛顿迭代法求方程2F 4/ +3x 6 = 0在1.5附近的根。在得到正确答案后,请修改程序使所设的x初始值由1.5改变为100、1000、10000,再 运行,观察结果,分析不同的X初值对结果有没有影响,为什么?修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的X初始值对迭代的次 数有无影响。#iiiclude #iiiclude void main()float xl,xO,f.fl;xl=L5;dox0=xl;f=2 *x0 *x0 *x0-4*x0*x0+3 *x0-6:fl=6*x0*x0-8 *x0+3;xl=xO-ffl; wliile(fabs(x 1 -x0)= 1 e-5);printf(MThe root of equation is %5.2fuT,xl);I he root o equation is 2-80 Press any key to continue(5) 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃 了一个,第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩 下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少个 桃子?#iiiclude void main()mt day=9.xl,x2=l;wliile(day0)xl=2*(x2+l);x2=xl;day-;printf(Mtotal peaches=%d ii*x 1);total peaches =1534Press any key to continue(6) 打印出以下图形大大大大火*火大大*大大大大大大大大大分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律。每一部分利用 双重for循环,外循环控制行,内循环控制列。内循环又由两个并列的for循环,一*个控制 空格的输出,一个控制星号的输出。#mclude void niaiii()Hit 1,J;fbr(i=l;i=4;i+)(for(j=lj=4-iJ+)pnntff );fbr(j=lj=2*i-l J+)pnntff*”);pnntf(”n”);)fbr(i=l;i4;i+)(fbr(j=lj=i;j+)pnntff );fbr(j=l j=7-2*i J+)pnntff*”);pnntf(”n”);)w v w w V K K/v*Press any key to continue三、预习内容预习第5章内容。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!