C练习题程序设计与问题求解附答案(吴).doc_第1页
C练习题程序设计与问题求解附答案(吴).doc_第2页
C练习题程序设计与问题求解附答案(吴).doc_第3页
C练习题程序设计与问题求解附答案(吴).doc_第4页
C练习题程序设计与问题求解附答案(吴).doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

程序设计与问题求解作业说明:1、每位同学交一份作业;2、形式:纸质或电子版均可;3、作业提交时间:4、作业中请注明以下信息:姓名、学号、所在班级,纸质的请班干部收齐后一次性上交,电子版的请发至以下邮箱:5、要求格式整齐,没有错别字,程序调试无错误作业内容:1、(10分)简述算法的概念、特征及常用描述工具。2、(10分)简述结构化程序设计的三种标准结构及其共同点、差别。3、(30分)对于以下方程,请完成以下任务:*在允许a,b,c任意输入的情况下,请设计出解此方程的算法(可用NS图或流程图进行描述)*根据算法设计程序*对各类情况进行测试,写出每组输入所对应的输出结果4、(30分)从键盘任意输入三个数,要求按从小到大的升序输出,请完成以下任务: *在允许三个数任意输入的情况下,请设计出解决此问题的算法(可用NS图或流程图进行描述)*根据算法设计程序*对各类情况进行测试,写出每组输入所对应的输出结果5、(20分)公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年,一回归年长365日5时48分46秒。因此,公历规定有平年和闰年,平年一年有365日,比回归年短0.2422日,四年共短0.9688 日,故每四年增加一日,这一年有366日,就是闰年。但四年增加一日比四个回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年,这样公历年的平均长度与回归年就相近似了。所以规定,公历年份是整百数的,必须是400的倍数的才是闰年,不是400的倍数的就是平年。也就是我们通常所说的:四年一闰,百年不闰,四百年再闰,例如1900 年、2100年就不是闰年。根据上述材料完成以下任务:*输入一个年份,自动判断是平年还是闰年,请设计算法(可用NS图或流程图进行描述)*根据算法设计程序*对各类情况进行测试,写出每组输入所对应的输出结果C+练习题:程序设计与问题求解作业1解答-姓名: 学号: 班级:信工114第1题:算法的概念:为了解决问题所制定的步骤、方法。特征:1、有穷性;2、确定性;3、有效性;4、有零或多个输入;5、有一个或多个输出。常用描述工具:1、自然语言;2、流程图;3、N-S图;4、计算机语言;5、伪代码。第2题:三种标准结构:1、顺序结构;2、分支结构;3、循环结构。共同点:使算法的流程更清晰简洁,增强可读性。差别:1、顺序结构:按书写顺序执行的操作。2、分支结构:根据指定条件做出决策,在两条或多条分支路径中选择其中的一条执行 。3、循环结构:根据是否满足指定的条件而决定是否重复执行指定操作。第3题:算法及流程图:解:当a0时,令=b2-4ac,当0时,方程无实数根;当0时,方程有两个实数根x1=,x2=.当a=0时,再考虑b:若b0,则方程的根为x= ;当b=0时,再考虑c:当c0时,方程无根;当c=0时,方程的解是全体实数.算法步骤如下:第一步,输入a,b,c.第二步,如果a0,执行第三步,如果a=0,执行第七步.第三步,=b2-4ac.第四步,如果0,输出“方程无实数根”,如果0,执行第五步.第五步,x1= ,x2= .第六步,输出x1,x2.第七步,如果b0,执行第八步,如果b=0,执行第十步.第八步,x= .第九步,输出x.第十步,如果c0,输出“方程无实根”;如果c=0,输出“方程的根为全体实数”.该算法的程序框图如图所示:程序:#include stdio.h#include math.hvoid main() float a,b,c,d,x1,x2; printf(n请输入方程的三个系数a,b,c的值:); scanf(%f%f%f,&a,&b,&c); if(a=0)/一次方程 if(b=0) if(c=0) printf(方程的解是全体实数!n); else printf(方程无实根!n); else printf(此一元一次方程解为:%fn,-c/b); else d=b*b-4*a*c; if(d=0) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(x1=%f,x2=%fn,x1,x2); else printf(方程无实根!n); 输出结果:输入数据abc输出结果第1组000有任意解第2组011-1第3组123无实根第4组132-1、-2第5组001无解第6组213无实根第7组101无实根第8组1100、-1第9组12211-0.048991、-1.701009第10组321无实根第4题:算法流程图:开始输入a,b,ct=aaba=bb=tbct=bb=cc=tababt=aa=bb=t输出a,b,c结束程序:#includestdio.hvoid main() int a,b,c,t; printf(请输入三个数:n); scanf(%d%d%d,&a,&b,&c); if(ab) /第一个数和第二个数比较 t=a;a=b;b=t; /如果第一个数大于第二个数,则两个数交换 if(bc) /第二个数和第三个数比较 t=b;b=c;c=t; /如果第二个数大于第三个数,则两个数交换 /*经过前两个步骤,最大的那个数就已经排到最后面了*/ if(ab) /再将剩下的两个数比较就行了 t=a;a=b;b=t; /两个数交换 printf(n按从小到大的顺序排序结果如下:n); printf(%d %d %dn,a,b,c);输出结果:输入123132213231312321112211输出123123123123123123112112第5题:算法流程图:开始输入yearYear%4=0&year%100!=0|year%400=0输出“该年是闰年!”输出“该年是平年”结束程序:#includestdio.hvoid main() int year; printf(请输入年份:n);scanf(%d,&year);if(year%4 =0 ) & (year%100 !=0) | (year%400 =0 )/符合以下条件之一的年份即为闰年:1、能被4整除而不能被100

温馨提示

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

评论

0/150

提交评论