版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验四 逻辑结构程序设计1. 实验目的(1) 了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。(2) 学会正确使用逻辑运算符和逻辑表达式。(3) 熟练掌握if语句和switch语句。(4) 结合程序掌握一些简单的算法。(5) 学习调试程序。2. 实验内容(1) 习题5.5。有一函数: 用scanf函数输入x的值,求y值。所编写程序为:#include<stdio.h>#include<math.h>void main()float x,y;printf("input x=");scanf("%f",&x);
2、if(x<1)y=x;printf("x=%f,y=%fn",x,y);else if(1<=x<10)y=2*x-1;printf("x=%f,y=%fn",x,y);elsey=3*x-11;printf("x=%f,y=%fn",x,y);运行程序,输入x的值(分别为x<1、110、x10这3种情况),结果如下:(2)给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。 事先编好程序,要求分别用if语句和switch语句来
3、实现。运行程序,并检查结果是否正确。所编写if-else语句程序为:#include<stdio.h>void main()double score;printf("请输入学生成绩:");scanf("%lf",&score);if(score>=90)printf("An");else if(score>=80)printf("Bn");else if(score>=70)printf("Cn");else if(score>=60)printf(&
4、quot;Dn");else printf("En");所编写switch语句程序为:#include<stdio.h>void main()double score;printf("请输入学生成绩:");scanf("%lf",&score);switch(int)(score/10)case 10:case 9: printf("An");break;case 8: printf("Bn");break;case 7: printf("Cn"
5、);break;case 6: printf("Dn");break;default:printf("En"); 再运行一次程序,输入分数为负值(如一70),这显然是输入时出错,不应给出等级,修改程序,使之能正确处理任何数据,当输入数据大于100和小于0时,通知用户“输人数据错”,程序结束。改正后if-else语句程序为:#include<stdio.h>void main()double score;printf("请输入学生成绩:");scanf("%lf",&score);if(score
6、>100|score<0)printf("n输入有误,请重输");scanf("%lf",&score);elseif(score>=90)printf("An");else if(score>=80)printf("Bn");else if(score>=70)printf("Cn");else if(score>=60)printf("Dn");else printf("En");改正后switch语句程序为
7、:#include<stdio.h>void main()double score;printf("请输入学生成绩:");scanf("%lf",&score);while(score>100|score<0)printf("n输入有误,请重输");scanf("%lf",&score);switch(int)(score/10)case 10:case 9: printf("An");break;case 8: printf("Bn"
8、);break;case 7: printf("Cn");break;case 6: printf("Dn");break;default:printf("En");(3)给一个不多于5位的正整数,要求:求出它是几位数;分别输出每一位数字;按逆序输出各位数字,例如原数为321,应输出123。 应准备以下测试数据: ·要处理的数为1位正整数; ·要处理的数为2位正整数; ·要处理的数为3位正整数; ·要处理的数为4位正整数; ·要处理的数为5位正整数。 除此之外,程序还应当对不合法的输入
9、做必要的处理,例如: ·输入负数; ·输人的数超过5位(如123456)。所编写程序为:#include<stdio.h>void main()long int a;int g,s,b,q,w,place; /*g,s,b,q,w,place分别代表个位、十位、百位、千位、万位和位数*/printf("请输入一个整数:");scanf("%ld",&a);if(a>=100000)|(a<0)printf("该输入不合法,请重输n");elseif(a<100000)&
10、&(a>=10000)place=5;printf("该整数为%d位n",place); else if(a>=1000)place=4;printf("该整数为%d位n",place); else if(a>=100)place=3;printf("该整数为%d位n",place); else if(a>10)place=2;printf("该整数为%d位n",place); else if (a>=0)place=1;printf("该整数为%d位n",
11、place); printf("每位数字为:"); w=a/10000;q=(int)(a-w*10000)/1000;b=(int)(a-w*10000-q*1000)/100; s=(int)(a-w*10000-q*1000-b*100)/10;g=(int)(a-w*10000-q*1000-b*100-s*10);switch(place)case 5:printf("%d,%d,%d,%d,%dn",w,q,b,s,g);printf("反序数字为:");printf("%d%d%d%d%dn",g,s
12、,b,q,w);break;case 4:printf("%d,%d,%d,%dn",q,b,s,g);printf("反序数字为:");printf("%d%d%d%dn",g,s,b,q);break;case 3:printf("%d,%d,%dn",b,s,g);printf("反序数字为:");printf("%d%d%dn",g,s,b);break;case 2:printf("%d,%dn",s,g);printf("反序数字为:
13、");printf("%d%dn",g,s);break;case 1:printf("%dn",g);printf("反序数字为:");printf("%dn",g);break;(4)输入4个整数,要求按由小到大顺序输出。所编写程序为:#include<stdio.h>void main()int a,b,c,d,t;printf("请输入4个整数:");scanf("%d%d%d%d",&a,&b,&c,&d);printf("a=%d,b=%d,c=%d,d=%dn",a,b,c,d);if(a>b)t=a;a=b;b=t;if(a>c)t=a;a=c;c=t;if(a>d)t=a;a=d;d=t;if(b>c)t=b;b=c;c=t;if(b>d)t=b;b=d;d=t;if(c>d)t=c;c=d;d=t;printf("排
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中小学班主任家校协同教育计划制定能力考核试卷
- 2025年广告行业数字广告与消费者反馈研究报告及未来发展趋势预测
- 2025年互联网医疗行业医疗健康大数据应用报告
- 2025年互联网行业区块链应用水平考试-AI生成数字资产NFT确权考核试卷
- 2025年建筑电工职业技能竞赛光伏电站电气系统操作考核试卷
- 2026中国铁路沈阳局集团有限公司招聘高校毕业生475人(一)考试笔试参考题库附答案解析
- 2025合肥市粮食集团有限公司公开招聘工作人员7人笔试考试参考题库及答案解析
- 2026重庆市设计院有限公司校园招聘4人考试笔试备考试题及答案解析
- 2025年下半年长春市总工会公开招聘工会社会工作者(61人)笔试考试备考题库及答案解析
- 2025浙江金华市东阳市部分机关事业单位招聘编外人74人员(二)考试笔试模拟试题及答案解析
- 2025云南宣富高速楚雄市东南绕城高速元绿高速那兴高速高速公路收费员招聘341人笔试历年参考题库附带答案详解
- 2026届新高考物理热点冲刺复习 从“心”出发向“新”而行-三新背景下物理高考的守正与创新
- 风险评估标准作业流程表合规风险管理版
- 全国大学生职业规划大赛《卫星通信与导航技术》专业生涯发展展示【高职(专科)】
- 2025外研版新教材英语七年级上册单词表(复习必背)
- 凭什么让学生服你:读书分享技巧
- 四级手术术前多学科讨论制度(2025年)
- 血友病预防知识培训课件
- 沙石料销售知识培训内容课件
- 人教版六年级数学上册第一单元测试卷(含解析)
- 2025云南昆明元朔建设发展有限公司第一批收费员招聘20人备考考试题库附答案解析
评论
0/150
提交评论