ImageVerifierCode 换一换
格式:PPT , 页数:74 ,大小:358KB ,
资源ID:12542909      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/12542909.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C语言第三次作业答案.ppt)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言第三次作业答案.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章,语句、程序控制结构(顺序、选择、循环),4.1,C,语句总述,C,语句一般以分号“,;,”,为结束标志,可分为以下六类:,1.,表达式语句,表达式语句由表达式加上分号“,;”,组成。如:,x*=8;/*,赋值表达式语句*,/,a=5,b=7,c=16;/*,逗号表达式语句*,/,xy?x:y;/*,条件表达式语句*,/,-,a&+b&+c,;/*,逻辑表达式语句*,/,i+;/*,算术表达式语句*,/,2.,说明语句,变量定义语句和函数说明语句统称说明语句。如:,int,a,b,*p,i=0;,fl

2、oat add(float,float);/*,函数说明语句*,/,3.,空语句,只有分号“,;,”,组成的语句称为空语句。空语句是,什么也不执行的语句。,在程序中空语句可用来作空循环体或转向点。,如:,while(getchar,()!=n),;,本语句的功能是,只要从键盘输入的字符不是回,车则重新输入,4.,复合语句,把多个语句用括号,括起来组成的一个语句称为复合语句。,在程序中应把复合语句看成是单条语句,,而不是,多条语句。,如:,t=x;,x=y;,y=t;,5.,函数调用语句,*,由函数名、实际参数加上分号“,;,”,组成。如:,printf(C,Program);,6.,控制语句,

3、控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。,语言有九种控制语句,可分成以下三类:,条件判断语句:,if,语句、,switch,语句;,循环执行语句:,do while,语句、,while,语句、,for,语句;,转向语句:,break,语句、,continue,语句、,goto,语句、,return,语句。,4.2,顺序结构,C,语言中的顺序结构主要由说明语句、表达式语句、空语句以及复合语句组成。在顺序结构程序中,各语句(或命令)是,按照位置的先后次序顺序执行的,,且每个语句都会被执行到。,例:输入两个整数,编程完成两数的交换。,main(),int,a

4、b,t;,scanf(%d,%d,t=a;,a=b;,b=t;,printf(%d,%d,a,b);,main(),int,a,b;,scanf(%d,%d,a=a+b;,b=a-b;,a=a-b;,printf(%d,%dn,a,b);,4.3,选择结构,它所要解决的问题是根据“条件”判断的结果决定程序执行的流向,因此该结构也被称为判断结构。,程序执行的流向是根据条件表达式的值是“,0”,还是非“,0”,来决定,(,流程,),。,设计选择结构程序,需要考虑两个方面的问题:一是在,C,语言中如何来表示条件(条件表达式),二是在,C,语言中实现选择结构用什么语句(,if/switch,结构)。

5、简单,if,语句,if-else,语句,if-else if-else,语句,switch,语句,A,块,B,块,P,0(,假,),非,0(,真,),3.1,简单,if,语句,语法形式:,if(,表达式),语句,其中,表达式,是决定程序流向的条件,语句,可以是单语句或复合语句,语句,表达式,假,真,if,语句示例,例,1,:输入任意三个整数,a,、,b,、,c,,求三个数中的最大值,(,例,4.2),main(),/*,注意三段式编程思想,*,/,int,a,b,c,max;,printf(Please,input three numbers:);,scanf(“%d,%d,%d,”,/*,

6、输入数据语句,*,/,max=a;,if(ba)max=b;,if(cmax)max=c;,/*,算法处理部分,*,/,printf(“max,=%dn”,max);/*,输出结果语句,*,/,*例,2,:输入,x,y,两整数,按小到大顺序输出。,main(),int,x,y,t;,scanf,(“%d,%d”,&x,&y,);/*,输入*,/,if (x y),t=x;x=y;y=t;,/*,算法处理*,/,printf,(“%d,%,dn,”,x,y);,/*,输出*,/,运行结果,输入:,4,1,输出:,1,4,3.2 if-else,语句,语法,if(,表达式,),语句,1,else,

7、语句,2,语句,1,表达式,假,真,语句,2,if-else,语句示例,例,1.,输入一个整数,输出该整数的绝对值,main(),int,n;,scanf(%d,if(n=0),printf(%d,n);,else,printf(%d,-n);,printf(“%d”,n,=0?n:-n);,*,例,2.,用,if-else,语句求输入的三个整数中的最大数,main(),int,a,b,c,max;,scanf(“%d%d%d,”,max=a;,if(cb),if(ca),max=c;,else,if(ba),max=b;,printf,(max=%dn,max);,max=b,F,输出,ma

8、x,max=c,输入,a,b,c,max=a,ca,cb,T,T,T,F,ba,F,3.3,系列,if,语句,if(,条件,1),语句,1,else if(,条件,2),语句,2,else if(,条件,3),语句,3,else if(,条件,n,),语句,n,else,语句,n+1,其中最后一个,else,在,无语句,n+1,时,可以省略,系列,if,结构流程图,条件,1,条件,2,语句,1,语句,2,语句,n,语句,n+1,条件,n,T,F,F,T,F,T,系列,if,结构示例,例,1.,用,else if,结构求解一元二次方程,ax,2,+bx+c=0,的 根,系数,a,、,b,、,c,

9、的值从键盘输入。见,98,页 例,4.4,),p=(b*b-4*a*c),;,real=-b/(2*a),imag,=sqrt(fabs(p)/(2*a),输出,2,复根,realimag,i,输入,a,b,c,输出根,-c/b,a!=0,T,T,T,F,F,a=0&b!=0,p=0,p0,F,F,T,非法或无意义,输出,2,实根,realimag,输出根,-b/(2*a),求一元,二次方程流程图,例,2,:从键盘输入成绩,score,,,编程要求能有如下输出:,s,core,60,,,输出,E,;,60,s,core,70,,,输出,D,;,70,s,core,80,,,输出,C,;,80,

10、s,core,90,,,输出,B,;,90,s,core,,,输出,A,。,main(),int,score;,printf,(Enter a score:n);,scanf,(%d,if(score60),printf(“E,);,else if(score 70),printf(D,);,else if(score 80),printf,(C);,else if(score y),z=x;x=y;y=z;,2.if,结构与,+,、,-,的综合应用时遵循原来的自增自减运算符的应用规则,例:下面程序运行后结果是?,main(),int,m=5;,if(m+5),printf(“%dn”,m,)

11、else,printf(“%dn”,m,-);,3 if,结构可以嵌套使用,当有众多的,if,和,else,时,,else,必须和,if,配对使用,且,else,总是跟它上面最近的,if,配对,例:下面这段程序执行后,,x,的值为,?,main(),int,a=1,b=3,c=5,d=4,x;,if(ab),,,则,x=?*/,if(c,d)x=1;,else,if(a,c),if(b,d)x=2;,else x=3;,else x=6;,else x=7;,printf(x,=%d,x);,注意:在,if-else,的嵌套结构中,,else,总是与它上面最,近的,if,配对,if(ab)

12、x=7,3.4 switch,语句,switch,结构,是多分支选择结构,根据表达式值的,不同,程序转入不同的模块执行,switch,结构的语法形式,switch(,表达式,),case,常量表达式,1:,语句,1;,case,常量表达式,2:,语句,2;,case,常量表达式,n,:,语句,n;,default:,语句,n+1;,不带,break,语句,switch,结构图,e=e1,e=e2,e=e3,e=en,语句,1,语句,2,语句,3,语句,n,语句,n+1,T,T,T,T,F,F,F,F,default,其中:,e,为表达式,e1,、,e2en,为常量表达式,1,、,2n,带,br

13、eak,语句的,switch,结构,实际使用时,一般要使程序在执行一个,case,语句,后退出,switch,结构,可用,break,语句将上述,switch,结构改成:,switch(,表达式,),case,常量表达式,1:,语句,1;,break;,case,常量表达式,2:,语句,2;,break;,case,常量表达式,n,:,语句,n;,break;,default:,语句,n+1;,e=e1,e=e2,e=e3,e=en,语句,1,语句,2,语句,3,语句,n,语句,n+1,T,T,T,T,F,F,F,F,default,其中:,e,为表达式,e1,、,e2en,为常量表达式,1,

14、2n,例,4.6,用,switch,结构编写可处理四则运算的程序,main(),float v1,v2;,char operator;,printf(Please,type your expression:n);,scanf(%f%c%f,switch(operator),case+:printf(v1+v2=%.2fn,v1+v2);,break;,case-:printf(v1-v2=%.2fn,v1-v2);,break;,case*:printf(v1*v2=%.2fn,v1*v2);,break;,case/:if(v2=0),printf(division,by zero.n)

15、else,printf(v1/v2=%.2fn,v1/v2);,break;,default:,printf(unknown,operator.n);,switch,使用说明,每个,case,后面的,常量表达式,的值必须互不相同,以免程序执行的流程产生矛盾,switch,后面括号内的表达式,,可以是整型或字符型表达式,或,枚举型,数据,加上,break,语句可以使程序执行某一分支后直接退出,switch,结构,多个,case,语句可以共用一组执行语句,如,:case 4:,case 5:,case 6:,case 7:d=8;break;,switch与if-else if-else,改写

16、用,if-else if,语句写成的程序,:,从键盘输入成绩,score,,,编程要求能有如下输出:,s,core,60,,,输出,E,;,60,s,core,70,,,输出,D,;,70,s,core,80,,,输出,C,;,80,s,core,c&a+cb&b+ca,判断是否,等边,三角形:,a=b&b=c,判断是否,等腰,三角形:,a=b|b=c|c=a,判断是否,直角,三角形:,(a*,a+b,*b=c*c)|,(a*,a+c,*c=b*b)|(b*,b+c,*c=a*a),main(),int,a,b,c,;,printf(nPlease,input a,b,c:);,scanf(%

17、d%d%d,&a,&b,&c,);,if(a+bc&a+cb&b+ca),if(a,=b&b=c),printf(equilateral,trianglen);,else if(a=b|b=c|c=a),printf(isoceles,trianglen);,else if(a*,a+b,*b=c*c)|(a*,a+c,*c=b*,b)|(b,*,b+c,*c=a*a),printf(right,-angled trianglen);,else,printf(arbitrary,trianglen);,else,printf(“It,isnt triangle.n”);/*,构不成三角形*,/

18、在构成三角形的,前提,下,四种三角形的类型判断选择语句,选择结构复习,-,读程题,#include,main(),int,a=0,b=0,c=0,x=0;,if(!a,)b-;,else,if(b,),if(!c,)x=3;,else x=4;,printf,(“x=%,dn,”,x);,#include,main(),int,x=1,y=0,a=0,b=0;,switch(x,),case 1:,switch(y,),case 0:a+;break;,case 1:b+;break;,case 2:,a+;b+;,break;,printf,(“a=%d,b=%,dn,”,a,b);,a=

19、2,b=1,4.4,循环结构,4.4.1 while,循环结构,4.4.2 do-while,循环结构,4.4.3 for,循环结构,4.4.4,无条件控制语句,break,continue,goto,4.4.7,多重循环,4.4.8,应用举例,概述,循环结构,根据循环,条件,决定是否要重复执行某一模块(循环体)。,C,语言中主要提供三种循环语句:,while,语句,do-while,语句,for,语句,4.4.1,while,语句,一般形式,执行流程,while (,表达式,),语句,也称语句为循环体,while,循环结构,是一种当型循环结构,语 句,表达式,0(,假,),非,0(,真,),

20、例,4.8,用,while,循环写一个程序统计从键盘输入的数字字符出现的次数并把其中的数字字符依次输出。,#include,stdio.h,main(),/*,只统计数字字符出现的次数*,/,char c;,int,nd,=0;,while(c,=,getchar,()!=n),if(c,=0&c=0&c=0&c=9),nl,+;,printf(nThere,are%d numbers!,n,nd,);,printf(nThere,are%d characters!,n,nl,);,从键盘输入,n,,计算累加和、阶乘,n!,计算,1+2+n,main(),int,n,sum,=0,i=1;,s

21、canf(“%d”,&n,);,while(i,=n),sum=,sum+i,;,i+;,printf(“sum,=%d”,sum);,计算,n!,main(),long,fa,=1,i=1,n;,scanf,(,“,%ld,”,&n,);,while(i,=n),fa,=,fa,*i;,i+;,printf(“%ld,!=%,ld,”,n,fa,);,*例,2,:已知,s=1!+2!+3!+,+n!,求当s首次超过,2,000,000,时的,n,和,s,的值,main(),int,n=0;,long s=0,an=1;,while(s2000000),n+;,an=an*n;,s=s+an;

22、for(n,=1;s=1.e-4);,printf(exp(x,)=%fn,s);,4.4.3 for,循环语句,一般形式,for,(,表达式,1,;表达式,2,;表达式,3,),语句,(循环体),其中:,表达式,1,-,初始化表达式。可用来设定循环控制变,量或循环体中变量的初始值,可以是,逗号表达式,。,表达式,2,-,循环条件表达式。其值为逻辑量,为非,0,时继续循环,为,0,时循环终止,表达式,3,-,增量表达式。用来对循环控制变量进行,修正,也可用,逗号表达式,包含一些本来可放在循环,体中执行的其他表达式,上述表达式可以缺省,但分号不可缺少,执行过程,求解表达式,1,求解表达式,3,

23、语 句,表达式,2,T,F,例,4.11,用,for,语句写程序在屏幕上依次输出,26,个字母,输出形式,:a-b-c-d-y-z,*,例,1:,求,s=sin1+sin2+.+sin50,#include math.h,main(),/*,用数学函数加上面的包含文件*,/,int,n;,float s;,for(s=0.,n=1;n=50;n+),s+=,sin,(n);,printf,(s=%fn,s);,s=,s+sin(n,),s=0,n=1,n+,n=50,T,F,例,1,:,写出下列程序的输出结果,main(),int,i,s=0,t=0;,for(i=1;i10;i+),/*,选

24、择结构作循环体*,/,switch(i6),case 0:t+=i;break;,case 1:s+=i;break;,printf,(t=%d,s=%dn;t,s);,结果:,t=30,s=15,无条件控制语句,4.4.4,break,语句,4.4.5 continue,语句,4.4.6,goto,语句,4.4.4,break,语句,形式:,break;,作用:跳出循环体,提前结束循环,无条件转移到,循环结构的下一句继续执行。,使用场合:只能用在,switch,结构和循环结构中。,【,例,4.13】,写一个程序求整数,m,是否是素数。,一个只能被,1,和自己整除的数称为素数。决定一个数,m,

25、是否是素数,只要让,m,被,2,除到被,m,除就可以,如果不能被,2,到,m,中的任何一个数整除,就定,m,为素数,#include,stdio.h,main(),int,m,i;,scanf(%d,&m,);,for(i=2;im;i+),if(m%i=0)break;,if(i=m),printf(%d,is a prime number.n,m);,else,printf(%d,is not a prime number.n,m);,例:,阅读如下程序,写出运行结果,main(),int,i,s=0;,for(i=1;i10),break,;,printf(i,=%d,s=%dn,i,s

26、);,结果:,i=3,s=14,4.4.5 continue,语句,形式:,continue;,作用:,用来结束本次循环(即跳出循环体中尚未,执行的语句)直接进行循环条件的判断,使用场合:,用于循环结构中,。,【,例,4.14】,写程序从键盘读入分数,计算有效分数的总分、平均分、最高分、最低分。,main(),float score,min=100,max=0,total=0,avg;,int,n=0;,printf(Please,input first score:);,while(scanf(“%f”,&score,)=1)/*,利用输入函数的返回值作条件*,/,if(score100)c

27、ontinue,;,n+;,min=(scoremax)?score:max;,total=,total+score,;,printf(please,input next score:);,;,if(n0),avg,=total/n;printf(Max:%.1f,Min:%.1f,Total:%.1f,Average:%.1fn,max,min,total,avg);,例,1,:阅读如下程序,写出运行结果,main(),int,i,s=0,n=0;,for(i=1;i10;i+),if(i%2=0|i%3=0),continue,;,n+;s+=i;,printf(n,=%d,s=%dn,n

28、s);,结果:,n=3,s=13,*,4.4.6,goto,语句,形式:,goto,语句标号,;,其中语句标号用标识符表示。,与,goto,语句相对应,程序中必有一个带语,句标号的语句,形式为:,语句标号:语句,作用:程序无条件地转移到具有该语句标号的语,句上继续执行。,说明:,goto,语句不是一个必要的语句;,与,if,结构配合构成条件转移或循环。,【,例,4.15】,求,1,100,间的奇数和,即求,1+3+5+,+99,main(),int,i=1,sum=0;,loop:,sum=sum+i;,i=i+2;,if(i100),goto,loop;,printf(sum,=%dn,s

29、um);,运行结果:,sum=2500,for(i=1;i100;sum+=i,i+=2);,4.4.7,多重,(,嵌套,),循环,在,循环体内又包含另一个或多个完整的循环结构,称为多重循环。,要点:,三种循环语句可以相互改写、相互嵌套,但不允许交叉,break,语句用于多重循环中,是从语句所在的循环跳转到上一层循环,continue,处于多重循环时,仅仅影响包含它的循环结构执行体执行的次数。,三种循环结构的等价关系,int,s=0,i=1;,while,(i,=100),s=,s+i,;,i=i+1;,int,s=0,i;,for,(i,=1;i=100;i+),s=,s+i,;,int,s

30、0,i=1;,do,s=,s+i,;,i=i+1;,while,(i,=100);,以下三种结构都可以计算数学式子,:1+2+3+100,例,1,:打印阶梯状九九乘法表,#include,stdio.h,main(),int,i,j;,for(i=1;i=9;i+),for(j=1;j=i;j+),printf(%d,*%d=%-4d,i,j,i*j);,printf(n,);,嵌套循环举例,例,2,:,写出下列程序的输出结果,#,include“,stdio.h,”,main(),int,n,a,x;char cc=#;,scanf(%d,/*n=4*/,for,(x=0;x0;a,-,)

31、putchar(cc,);,for,(a=0;a1),a=2*(a+1);,i-;,printf(a,=%dn,a);,运行结果:,a=1534,main(),/*,用,for,循环*,/,int,i,a;,for(i=10,a=1;i1;i-),a=2*(a+1);,printf(a,=%dn,a);,【*,2,】,有一头母牛每年年初生一头小母牛,每头小母牛从第,4,个年头起,每年年初也生一头小母牛。求在第,20,年时,共有多少头牛。这是个“,顺推,”问题。,设:第,n,年时的母牛数为,Y,n,,,则:,Y,1,2,,,Y,2,3,,,Y,3,4,,,Y,4,Y,3,+Y,1,,,Y,5,

32、Y,4,+Y,2,,,可得到,当,n4,时有:,Y,n,Y,n-1,+,Y,n-3,已知:,Y,1,2,,,Y,2,3,,,Y,3,4,main(),int,i,y1,y2,y3,y4;,y1=2;y2;=3;y3=4;/*,即,y,1,=2,y,2,=3,y,3,=4*/,for(i=4;i=20;i+),y4=y3+y1;/*,即,y,n,=,y,n-1,+,y,n-3,*/,y1=y2;y2=y3;y3=y4;,printf(,20 years of cow total amount is%dn,y4);,结果:,20 years of cow total amount is 2745,

33、3,【,例,4.20】,求两整数的最大公约数和最小公倍数。,求最大公约数算法,:,有两整数,a,和,b,:,a%b,得余数,c,若,c=0,,则,b,即为两数的最大公约数,若,c0,,则,a=b,,,b=c,,,再回去执行,例如求,27,和,15,的最大公约数过程为:,2715,余,12 1512,余,3 123,余,0,因此,,3,即为最大公约数,求最小公倍数算法:,最小公倍数,=,两整数的乘积,最大公约数,main(),int,m,n,a,b,t,c;,prinf(Input,two integer numbers:n);,scanf(%d%d,m=a;n=b;,c=a%b;,while(

34、c!=0)a=b;b=c;c=a%b;,printf(The,largest common divisor:%dn,b);,printf(The,least common multiple:%dn,m*n/b);,while(b,!=0),c=a%b;a=b;b=c;,b=a;,4,【,例,4.17】,百钱百鸡问题。公鸡,5,文钱,1,只,母鸡,3,文钱,1,只,小鸡一文钱,3,只。,100,文钱如何买,100,只鸡,?,分析:设买,x,只公鸡,,y,只母鸡,,z,只小鸡,则有:,x+y+z=100,5x+3y+z/3=100,隐含条件,:x,、,y,、,z,都是整数;,x20,;,y33,。

35、用,穷举法,,即把,x,、,y,、,x,所有可能的各种组合都一,一判断是否符合上述不定方程组,具体是:,把,x,可能值,020,和,y,可能值,033,用二重循环来组合,每个,x,和,y,组合都可得到,z,值,即,z=100-x-y,,若,x,、,y,、,z,值使,5x+3y+z/3=100,成立,则该组,x,、,y,、,z,即为一 组所求值。,main(),int,x,y,z,j=1;,printf(Possible,solutions to buy 100 fowls,whith,100,wen:n,);,for(x=0;x=20;x+),for(y=0;y=33;y+),z=100-x

36、y;,if(z%3=0&5*x+3*y+z/3=100),printf(%2d:cock=%-2d hen=%-2d,chicken=%-2dn,j,x,y,z);,j+;,运行结果:,Possible solutions to buy 100 fowls,whith,100,wen,:,1:cock=0 hen=25 chicken=75,2:cock=4 hen=18 chicken=78,3:cock=8 hen=11 chicken=81,4:cock=12 hen=4 chicken=84,5*,:打印出所有的,“,水仙花数,”,。所谓,“,水仙花,数,”,是指一个三位正整数,其各

37、位数字的立方和,等于该数本身,例如:,153=1,3,+5,3,+3,3,。,分析:可用,穷举法,,即把所有的三位正整数,100999,按 题意一一进行判断,如果一个三位正整数,n,的百位、十位、个位上的数字分别为,i,、,j,、,k,,,则判断式为:,n=i,3,+j,3,+k,3,如何分解三位数,n,的百位、十位、个位:,百位:,i=n/100%10;,十位:,j=(n/10)%10;,个位:,k=n%10;,#include,stdio.h,main(),int,n,i,j,k;,for(,n=100;n=999;n+,),i=n/100;,j=(n/10)%10;,k=n%10;,if

38、n=i*i*i+j*j*j+k*k*k),printf(%d,=%d3+%d3+%d3n,n,i,j,k);,运行结果:,153,13+53+33,370,33+73+03,371,33+73+13,407,43+03+73,6,:,利用循环结构打印图形,,写程序输入行数,n,,并打印下面的图形,*,*,*,*,main(),int,n,i,k,;,scanf(%d,&n,);,for(i,=0;i,n;i,+),for(k,=0;k=,i;k,+),printf,(*);,printf(n,);,课后复习关键字,语句,选择结构,if,if-else,if-else if-else,switch,循环结构,while,do-while,for,break,continue,算法,求最大公约数、素数判断、完数判断、打印图形等,本章结束,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服