if练习 和 缓冲区清除

来源:互联网 发布:mpv for mac 编辑:程序博客网 时间:2024/06/03 06:44

先是贴上今天的练习题,需求:通过旺季淡季购买机票的折扣不同,练习if语句的使用。以下是代码:

#include <stdio.h>

void main()
{
int month,key;     //声明两个变量month和key用来表示月份和舱位
int price;   //用来表示机票价格
printf("请输入出行月份:");
scanf("%d",&month);
printf("请输入选择的舱位(1.头等舱 2.经济舱):");
scanf("%d",&key);
//通过月份判断是淡季还是旺季
if(month>=4 &&month<=10){
//旺季
if(key == 1){
//头等舱
price = (int)(5000*0.9);
printf("您选择的是头等舱,目前折扣是九折。");
} else {
//经济舱
price = (int)(5000*0.8);
printf("您选择的是经济舱,目前折扣是八折。");
}
} else {
//淡季
if(key == 1){
//头等舱
price = (int)(5000*0.7);
printf("您选择的是头等舱,目前折扣是七折。");
} else {
//经济舱
price = (int)(5000*0.6);
printf("您选择的是经济舱,目前折扣是六折。");
}
}
printf("折后机票价格为:%d元 \n",price);

}

*************************************************************************************

在getchar();函数的使用中,会发现如果读取多个字符,在第一个字符输入后回车的过程中,后面紧接着的getchar会读取回车符。

如果在第一个getchar之后用fflush(stdin)清除缓冲区的话,这个问题可以得到解决。

0 0
原创粉丝点击