好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言实验习题实验四选择结构程序设计.doc

4页
  • 卖家[上传人]:hh****pk
  • 文档编号:342332932
  • 上传时间:2022-12-25
  • 文档格式:DOC
  • 文档大小:87.54KB
  • 文本预览
  • 下载提示
  • 常见问题
    • 实验四选择结构程序设计【目的与要求】1. 了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);2. 学会正确使用逻辑运算符和逻辑表达式;3 .熟练掌握if语句和switch语句上机内容】【一般示例】【例1】已知三个数a, b, c,找出最大值放于max中分析:由已知可得在变量定义时定义四个变量a, b, c和max, a, b, c是任意输入的三个 数,max是用来存放结果最大值的第一次比较a和b,把大数存入max中,因a, b都可 能是大值,所以用if语句中if else形式第二次比较max和c,把最大数存入max中,用if语句的第一种形式if形式Max即为a, b, c中的最大值 include "stdio.h" main(){/*定义四个整型变量*/int 4b,c,max;scanf("a=%d,b=%d,c=%d”,&a,&b,&c);if (a>=b)max=a; /*a>=b*/elsemax=b; /*avb*/if (c>max)max=c; /*c是最大值*/printf(nmax=%dn,max);}若输入下列数据,分析程序的执行顺序并写出运行结果(1) a=l, b=2, c=3(2) a=2, b= 1, c=3(3) a=3, b=2, c=l(4) a=3, b=l, c=2(5) a=3, b=3, c=2(6) a=2, b= 1, c=2【例2】输入某学生的成绩,经处理后给出学生的等级,等级分类如下:90分以上(包括90): A 80至90分(包括80): B70至80分(包括70): C 60至70分(包括60): D60分以下: E方法一:(用if嵌套') 分析: 由题意知如果某学生成绩在90分以上,等级为A;否则,如果成绩大于80分,等级为B;否 则,如果成绩大于70分,等级为C;否则,如果成绩大于60分为D;否则,如果成绩小于60 分,等级为E;但当我们输入成绩时也可能输错,出现小于0或大于100,这时也要做处理, 输出出错信息。

      因此,再用if嵌套前,应先判断输入的成绩是否在0~100之间include"stdio.hnmain(){int score;char grade;printf("\nplease input a student score:");scanf("%f",&score);if(score> 100llscore<0)printf("\ninput error!");else( if(score>=90)grade=,A';else( if(score>=80)grade='B';else(if(score>=70)grade=,C,;else( if(score>=60)grade='D';else grade=*E';printf(n\nthe student grade:%c",grade);}}输入测试数据,调试程序测试数据要覆盖所有路径,注意临界值,例如此题中得100分, 60分,0分以及小于0和大于100的数据方法二:用switch语句分析:switch语句是用于处理多分支的语句注意,case后的表达式必须是一个常量表达式,所以 在以用switch语句之前,必须把0~100之间的成绩分别化成相关的常量。

      所有A (除100以 外,B, C, D类的成绩的共同特点是十位数相同,此外都是E类贝U山此可得把score除 十取整,化为相应的常数include"stdio.h"main() int g,s; char ch;printf("\ninput a student grade:");scanf(”%d”,&g);s=g/10;if(s<0lls>10)printf(n\ninput error!");else( switch (s)( case 10:case 9: ch='A'; break;case 8: ch='B‘; break;case 7: ch='C'; break;case 6: ch='D'; break;default: ch='E‘;}printf("\nthe student scort:%c",ch);}}输入测试数据,同方法一一样调试程序并写出结果例3】有一函数:x x=10用scanf函数输入x的值(分别为xvl,l〜10,>=10三种情况),求y值分析:y是一个分段表达式要根据x的不同区间来计算y的值。

      所以应使用If语句 main()(int x,y;printf(4c&&b= =c(2) allb+c&&b-c(3) ! (a>b)&&!clll(4) !(x=a)&&(y=b)&&0(5) !(a+b)+c-l&&b+c/23. 有3个整数a、b、c,由键盘输入,输出其中最大的数4. 有一函数:x x=10写一程序,输入x,输出y5. 给出一百分制成绩,要求输出成绩等级A、B、C、D、Eo 90分以上为A, 80~89为B, 70-79分为C, 60~69分为D, 60分以下为E6. 给一个不多于5位的正整数,要求:a. 求出它是几位数;b. 分别打出每一位数字;c. 按逆序打出各位数字,例如原数为321,应输出123。

      7. 输入4个整数,要求按由小到大的顺序输出。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.