实验8:选择结构程序设计
实验目的:
(1)学会正确使用逻辑运算符和逻辑表达式; (2)熟练掌握if-else语句,学习调试程序。 实验内容:
1、定义语句:int a=1,b=2,c=3,x; 则以下选项中各程序段执行后,x的值不为3的是 C
A) if (c
main() {char a; scanf(\if( a>=’A’&&a<=’Z’ ) a+=32; printf(\}
1
4、 若从键盘输入58,则以下程序输出的结果是_585858__。
main() { int a; scanf(\ if(a>50) printf(\ if(a>40) printf(\ if(a>30) printf(\ } 5、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B_。 if(x>y) z=x; x=y; y=z;
A)x=10,y=20,z=30 B)x=20,y=30,z=30 C)x=20,y=30,z=10 D)x=20,y=30,z=20
二、程序设计题
1、(必做)有一函数
① 用scanf()函数输入x的值,求y值。
② 运行程序,输入的值(分别为x<1,1==10三种情况)检查输出的值是否正确。
#include \void main() { int x,y; printf(\ scanf(\
2
if(x<1) y=x; else if(x>=1&&x<10) y=2*x-1; else y=3*x-11; printf(\ getch(); } 2、(必做)给出一百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。
#include void main() { int cj; scanf(\ if(cj>100||cj<0) printf(\ else if(cj>=90) printf(\ else if(cj>=80) printf(\ else if(cj>=70) printf(\ else if(cj>=60) printf(\ else printf(\ getch(); } 3、(必做)编写程序,判断某年是否为闰年 (其中,年份由键盘输入) 。
#include void main() { int year; printf(\ scanf(\ if(year@0==0 || year%4==0 && year0!=0) printf(\ else printf(\ getch(); } 3
4、(选做)企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
#include void main() { double x,y; printf(\请输入利润总数,以万元为单位:\\n\ scanf(\ if(x<=10) y=x*0.1; else if(x<=20) y=10*0.1+(x-10)*0.075; else if(x<=40) y=10*0.1+10*0.075+(x-20)*0.05; else if(x<=60) y=10*0.1+10*0.075+20*0.05+(x-40)*0.03; else if(x<=100) y=10*0.1+10*0.075+20*0.05+20*0.03+(x-60)*0.015; else y=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(x-100)*0.01; printf(\应发放奖金总数为:%.2lf万元!\\n\} 5、(选做)有4个圆塔,圆心分别为(2,2)、(2,-2)、(-2,2)、(-2,-2),圆半径为1。这四个塔的高度分别为10米。塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为0,塔内的高度为10)。
4
#include void main() { int x,y; printf(\请输入建筑点的坐标(以空格或回车分隔):\\n\ scanf(\if(x>=1&&x<=3&&y>=1&&y<=3||x>=-3&&x<=-1&&y>=1&&y<=3||x>=-3&&x<=-1&&y>=-1&&x<=-1||x>=1&&x<=3&&y>=-3&&y<=-1) printf(\该点的建筑高度为10米!\\n\ else printf(\该点的建筑高度为0米!\\n\}
5