实验二选择结构程序设计
一:目的要求
1.熟悉用关系运行与逻辑运行符的应用;
2.掌握if语句与switch语句的使用;
3.上机前按实验要求预习编写出完整的程序,才允许上机。
二:实验内容与步骤
1.在书店买书,以100本为限。
如果买 1 本不打折扣 ;买2本打折10%; 买
3本折扣为 15 %,买3本以上折扣为 20 %。
设书本数为 x,单价为 20.00元。
请使用else if多分支结构或if嵌套结构设计实现该算法的C程序。
2.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥
90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。
请使用switch 语句实现上述功能。
(提示:将成绩整除10,把score转变为处于1~10之间的整数,从而转化成switch语句中的case标号)
三:选做实验
实验指导书56页第二章选择结构的任意实验
参考答案:
1.实验1
#include<stdio.h>
main()
{
int number;
float cost;
printf(“please input the number of books (1~100): ”);
scanf(“%d\n”, &number);
cost=20.0*number;
if(number==1)
cost*=1;
else if(number==2)
cost*=0.9;
else if(number==3)
cost*=0.85;
else
cost*=0.8;
if(cost<=0 || number>100)
printf(“illegal input!”);
else
printf(“the total cost is %d.\n”, cost);
}
2.实验2:
#include<stdio.h>
main()
{
int score, grade;
printf(“Input a score(0~100): ”);
scanf(“%d”, &score);
grade = score/10; /*将成绩整除10,转化成switch语句中的case标号*/ switch (grade)
{
case 10:
case 9: printf(“grade=A\n”); break;
case 8: printf("grade=B\n"); break;
case 7: printf("grade=C\n"); break;
case 6: printf("grade=D\n"); break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf(“grade=E\n”); break;
default : printf(“The score is out of range!\n”);
}
}。