资源描述:
《实验4 分支结构程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验四分支结构程序设计姓名学号班级1.练习题一编写程序,计算练习一分段函数的值。(1)用scanf函数输入x的值。(2)运行程序时,分别按x的值小于0、x的值在0-15之间、x的值大于15三种情况输入数据,检查输出的y值是否正确。#includeintk=1;voidtest();//程序是否继续voidmain(){while(k==1){intx,y,c;printf("Inputx:");scanf("%d",&x);while((c=getchar())!=''&&c!=EOF);if(x
2、<0){y=x+10;printf("x=%d,y=x+10=%d",x,y);}elseif(x<15){y=3*x+5;printf("x=%d,y=3*x+5=%d",x,y);}else{y=2*x-10;printf("x=%d,y=2*x-10=%d",x,y);}test();}}voidtest(){charc;printf("Testagain?y/n");if((c=getchar())=='n'
3、
4、c=='N')//只有当输入N或n时才终止程序k=0;}实验四分支结构程序设计运行结
5、果截图:思考题及问题:判断x的值在0-15之间可否使用表达式“0<=x<15”?为什么?正确的表示方法是什么?答案:不可。因为一个条件判断表达式中最多只能有一个运算符。正确的表示方法是x>=0&&x<15.2.练习题二输入3个数字,判断他们是否能构成三角形,如果不能,输出提示信息;否则判断它是直角、等边、等腰还是普通三角形。#includeintk=1;voidtest();voidmain(){while(k==1){inta,b,c,d;printf("Inputa,b,c:");scanf("%
6、d,%d,%d",&a,&b,&c);while((d=getchar())!=''&&c!=EOF);//清空输入缓存区if(!(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a))printf("三条边无法构成三角形。");实验四分支结构程序设计elseif(a*a+b*b==c*c
7、
8、a*a==b*b+c*c
9、
10、b*b==a*a+c*c)printf("这是一个直角三角形");elseif(a==b&&b==c)printf("这是一个等边三角形");elseif(a==b
11、
12、
13、b==c
14、
15、a==c)printf("这是一个等腰三角形");elseprintf("这是一个普通三角形");test();}}voidtest(){charc;printf("Testagain?y/n:");if((c=getchar())=='n'
16、
17、c=='N')//只有当输入N或n时才终止程序k=0;}运行结果截图:思考题及问题:判断三角形的类型时需要用到各种判断条件,入等边三角形的判断条件是3条边相等,该判断条件可否描述为“a=b=c”?为什么?答案:实验四分支结构程序设计不能,“=”在C语言中是赋
18、值符号,在条件判断式中是一个永真式,会引起语义错误。1.练习题三编写一个程序,输出给定的某年某月的天数。要求:采用switch语句实现。程序代码:#includevoidmain(){intyear,mon,days,leap;printf("年.月:");scanf("%4d.%2d",&year,&mon);switch(mon){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:d
19、ays=30;break;case2:if(year%4==0&&year%100!=0
20、
21、year%400==0)leap=1;elseleap=0;if(leap)days=29;elsedays=28;}printf("%d年%d月的天数为%d天",year,mon,days);实验四分支结构程序设计}运行结果截图:思考题及问题:①本程序所给代码中的switch语句没有default语句可以吗?default语句应该在switch语句的什么位置?可以。Default语句可以在{}之间的任意位置。②本程序所给代
22、码中的最后一个case语句中,没有break正确吗?请解释。正确。在switch语句中,当找到符合条件的case时,执行该case语句及之后的其他情况的语句,故C语言会在case语句和default语句后加break;防止执行下面的语句。而最后一个case语句后无其他语句,故没有break语句也正确。1.自测练习一编写程序,计算逻