




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验五 分支结构程序设计一 实验目的1、进一步理解逻辑量的表示方法2、掌握C语言的逻辑运算符及逻辑表达式的正确使用3、熟练掌握if语句与switch语句的正确应用二 实验环境 微型计算机 VC+6.0三 实验内容1、上机输入运行第四章书上所有的例子,理解选择结构程序设计方法以及if语句和switch语句的应用。2、编程实现习题 7,8,10四 实验要求1、实验目的2、实验内容3、试验中出现的问题及解决方案4、实验心得实验内容:例 4.1 求二元一次方程的根#include #includeint main()double a,b,c,disc,x1,x2,p,q;scanf(%lf%lf%lf,&a,&b,&c);disc=b*b-4*a*c;if(disc0)printf(this equation hasnt real roots.这个方程无实根.n);elsep=-b/(2.0/a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf(real roots:nx1=%7.2fnx2=%7.2fn);return 0;实验中出现的问题:1、 由于输入函数中未按照双精度类型进行定义,导致出现精度丢失的警告。2、 在else之后的语句中未将语句用大括号括住,导致程序运行错误。解决方案:将错误更正,程序成功运行。实验心得:蒋淑君类型定义明确,较少精度损失。例 4.2 将a,b值互换.#includeint main()float a,b,t;scanf(%f,%f,&a,&b);if(ab)t=a;a=b;b=t;printf(%5.2f,%5.2fn,&a,&b);return 0;实验心得:可以通过一个形式参数当做寄存器实现数据的交换。例 4.3 将a,b,.c三个数字顺序输出。#include int main()float a,b,c,d;scanf(%f,%f,%f,&a,&b,&c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;prinf(%f,%f,%fn,a,b,c);return 0; 实验心得:可以通过设计多次循环,实现数据的多次交换。例 4.4 将小写字母转换成大写字母 #includeint main()char ch;scanf(%c,&ch);ch=(ch=A&=Z) ? (ch+32) : ch;printf(%cn,ch);return 0; 实验心得:利用条件算符可以简化程序,使程序变得简单易懂。例 4.5 求分段函数的值采用if嵌套处理#includeint main()int x,y;scanf(%d,&x);if(x0)y=-1;elseif(x=0) y=0;else y=1;printf(x=%d,y=%dn,x,y);return 0;对上面程序的修改 #includeint main()int x,y;scanf(%d,&x);if(x=0)if(x0) y=1;else y=0;else y=-1;printf(x=%d,y=5d/n,x,y);return 0; 心得:利用if型嵌套语句可以使程序更简洁,更易懂。并且减少错误的出现。例 4.6 按照考试成绩输出百分制分数段。 #include int main()char grade;scanf(%c,&grade);printf(your score:);switch(grade)caseA:printf(85100 n);break;caseB:printf(7084n);break;caseC:printf(6069 n);break; caseD:printf(60 n);break;default: printf(n);return 0; 心得:switch语句可以根据表达式的值,使程序跳转到不同的语句。 例 4.7 用swich语句处理命令菜单。#includeint main()void action1(int,int),action2(int,int);char ch;int a=15,b=23;ch=getchar();switch(ch) casea: caseA: action1(a,b);break; caseb: caseB: action2(a,b);break; default:putchar(a);return 0; void action1(int y,int x);printf(x+y=%dn,x+y);void action2(int x,int y);printf(x*y=%dn,x*y);心得:使用switch语句来进行一些简单的菜单操作,可以解决一些常见的问题。例 4.8 写一个程序判断某一年是不是闰年#includeint main()int year,leap;printf(输入您要测算的年份:);scanf(%d,&year);if(year%4!=0)leap=0;else if (year%100!=0)leap=1;else if(year%400!=0)leap=0;elseleap=1;if(leap)printf(这是一个闰年!n,year);elseprintf(这不是一个闰年!n,year);return 0;心得:利用标志变量leap来表示相应年份是否为闰年,入股哟是闰年leap=1,否则等于0,最后检查leap的值。这样就能利用if语句简单的解决判断闰年的问题。例 4.9 求一元二次方程的根#include#includeint main() printf(请输入方程的系数(a,b,c):);double a,b,c,disc,x1,x2,realpart,imagpart;scanf(%lf,%lf,%lf,&a,&b,&c);if(fabs(a)=1e-6)printf(这不是一个一元二次方程:);elsedisc=b*b-4*a*c;if(fabs(disc)1e-6)x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a);printf(这个方程有两个不等实根:%8.4fand%8.4fn,x1,x2);elserealpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf(这个方程有两个共轭复根:n);printf(%8.4f+%8.4fin,realpart,imagpart); printf(%8.4f-%8.4fin,realpart,imagpart);return 0;心得:程序中利用disc代表b*b-4ac,先计算disc的值,减少以后的重复计算。对于判断的值。利用形式参数可以是程序更易懂,并且减少错误。习题7 观察输出结果,分析程序逻辑以及运行情况。输出结果相同,程序利用条件运算符和if语句嵌套编写出求此分段函数的值。程序首先输出y=0,然后在判断x的区间,从而输出y的真值。其结果是相同的。习题 8给出以百分制成绩,要求输出成绩等级A B C D E .#include int main() float score; char grade; printf(请输入学生成绩:); scanf(%f,&score); while (score100|score0)printf(n 输入有误,请重输);scanf(%f,&score); switch(int)(score/10) case 10:case 9: grade=A;break;case 8: grade=B;break;case 7: grade=C;break;case 6: grade=D;break;case 5:case 4:case 3:case 2:case 1:case 0: grade=E; printf(成绩是 %5.1f,相应的等级是%cn ,score,grade);return 0;习题 10企业奖金问题。#include int main() int i; double bonus,bon1,bon2,bon4,bon6,bon10; bon1=100000*0.1; bon2=bon1+100000*0.075; bon4=bon2+100000*0.05; bon6=bon4+100000*0.03; bon10=bon6+400000*0.015; printf(请输入利润i:); scanf(%d,&i); if (i=100000) bonus=i*0.1; else if (i=200000) bonus=bon1+(i-100000)*0.075; else if (i=400000) bonus=bon2+(i-200000)*0.05; e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消防百科题目及答案
- 测井车司机培训考试题及答案
- 现在进行时题目及答案
- 曹县社工考试题型分布及答案
- 葡萄病虫害防法知识培训课件
- 2025采购合同承包方式
- 农村循环经济合作模式设计协议
- 新能源动力电池极片冲切模具研发生产项目可行性研究报告模板-立项备案
- 物联概论试题及答案
- 2025年搅拌车租赁合同范本
- 宣威市能拓矿业有限公司烂坝煤矿30万t-a整合技改项目环评报告
- 硅PU(塑料面层)检验批质量验收记录表
- 2023九年级语文上册第一单元任务一学习鉴赏配套课件新人教版
- 常用电力金具
- 职教高考《机械制图》复习备考题库大全-上(单选、多选题汇总)
- 《多彩的黄土高原》课程论文报告(4000字)
- 天麻蜜环菌、萌发菌母种生产技术
- 成都中医药大学辅导员考试真题2022
- 中铁四院syadjv423工程测量平差数据处理软件使用教程
- 校园一日安全巡查记录表【范本模板】
- 田英章楷书心经-高清米字格版
评论
0/150
提交评论