第九周编程总结
7-1 查询水果价格 (15 分)
给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。
首先在屏幕上显示以下菜单:
[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0
1).实验代码
#include<stdio.h>
int main()
{
printf("[1] apple\n");
printf("[2] pear\n");
printf("[3] orange\n");
printf("[4] grape\n");
printf("[0] exit\n");
int choice,i;
for(i=1;i<=5;i++)
{
scanf("%d",&choice);
if(choice==0)
break;
switch(choice)
{
case 1:printf("price = 3.00\n");break;
case 2:printf("price = 2.50\n");break;
case 3:printf("price = 4.10\n");break;
case 4:printf("price = 10.20\n");break;
default:printf("price = 0.00\n");break;
}
}
return 0;
}
2). 设计思路
第一步:定义变量
第二步:打印菜单
第三步:调用for语句,输入变量
第四步:调用if和switch函数判断编号
第五步:输出答案
3).本题调试过程碰到的问题及解决方法
问题:没有考虑到输入0及退出程序的条件
解决方法:调用if语句判断当编号为0
4).运行结果截图
7-2 计算油费 (15 分)
现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。
本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。
1)实验代码
#include<stdio.h>
int main()
{
int a,b;
char c;
double money=0,price=0,discount=0;
scanf("%d %d %c",&a,&b,&c);
/*加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)*/
switch(b){
case 90:price=6.95;break;
case 93:price=7.44;break;
case 97:price=7.93;break;
}
switch(c){
case 'm':discount=0.95;break;
case 'e':discount=0.97;break;
}
money=a*price*discount;
printf("%.2f",money);
return 0;
}
2).设计思路
第一步:定义变量
第二步:输入变量
第三步:调用switch函数,判断汽油品种和服务类型
第四步:计算油价
第五步:输出答案
3) .本题调试过程碰到的问题及解决方法
问题:折扣计算错误
解决方法:仔细阅览题目算清折扣
4).运行结果截图
7-3 计算天数 (15 分)
本题要求编写程序计算某年某月某日是该年中的第几天。
1).实验代码
#include<stdio.h>
int main()
{
int year,month,day,sum,i;
scanf("%d/%d/%d",&year,&month,&day);
sum=day;
for(i=1;i<month;i++){
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sum+=31;break;
case 4:
case 6:
case 9:
case 11:
sum+=30;break;
case 2:
if((year%4==0&&year%100!=0)||year%400==0){
sum+=29;
}
else{
sum+=28;
}
break;
}
}
printf("%d",sum);
return 0;
}
2).设计思路
第一步:定义变量
第二步:输入变量
第三步:调用switch函数,判断月数
第四步:调用if语句判断是否为闰月
第五步:累加,输出答案
3).本题调试过程碰到的问题及解决方法
问题:输入格式错误
解决方法:按照输入样例重新输入
4).运行结果截图