【例3-8】查询自动售货机中商品的价格假设自动售货机出售4种商品:薯片(crisps)、爆米花( popcorn)、巧克力(chocolate)和可乐(cola),售价分别是每份3.0、2.5、4.0和3.5元。在屏幕上显示以下菜单(编号和选项),用户可以连续查询商品的价格,当查询次数超过5次时,自动退出查询;不到5次时,用户可以选择退出。当用户输入编号1~4,显示相应商品的价格(保留1位小数);输入0,退出查询;输入其他编号,显示价格为0。
#include <stdio.h>
int main()
{int choice, i;double price;for (i = 1; i <= 5; i++){printf("[1]Select crisps \n");printf("[2]Select popcorn \n");printf("[3]Select chocolate \n");printf("[4]Select cola \n");printf("[0]exit \n");printf("Enter choice:");scanf("%d", &choice);if (choice == 0)break;switch (choice){case 1:price = 3.0;break;case 2:price = 2.5;break;case 3:price = 4.0;break;case 4:price = 3.5;break;default:price = 0.0;break;}printf("price=%0.1f\n", price);}printf("Thanks!\n");return 0;
}
例3-9:求解简单表达式。输入一个形式如操作数运算符,操作数的四则运算表达式,输出运算结果,要求使用switch语句编写。
#include <stdio.h>
int main()
{double value1, value2;char c;printf("Enter an expression:"); //提示输入一个表达式scanf("%lf%c%lf", &value1, &c, &value2);switch (c){case '+':printf("=%.2f\n", value1 + value2);break;case '-':printf("=%.2f\n", value1 - value2);break;case '*':printf("=%.2f\n", value1 * value2);break;case '/':printf("=%.2f\n", value1 / value2);break;default:printf("Unkown!\n");break;}return 0;
}
【练习3-7】成绩转换:输入一个百分制成绩,将其转换为五分制成绩。百分制成绩到五分制成绩的转换规则:大于或等于90分为A,小于90分且大于或等于80分为B,小于80分且大于或等于70为C,小于0分且大于或等于60为D,小于60分为E。试编写相应程序。
#include <stdio.h>
int main()
{int grade, n;printf("Enter grade:"); //提示输入成绩scanf("%d", &grade);n = grade / 10;//只需要十位的数字switch (n){case 10:printf("A\n");break;case 9:printf("A\n");break;case 8:printf("B\n");break;case 7:printf("C\n");break;case 6:printf("D\n");break;default:printf("E\n");break;}return 0;
}
【练习3-8】查询水果的单价:有4种水果,苹果( apples)、梨(pears)、橘子(oranges)和葡萄( grapes),单价分别是3.00元/千克,2.50元/千克,4.10元/千克和10.20元/千克。在屏幕上显示以下菜单(号和选项),用户可以连续查询水果的单价,当查询次数超过5次时,自动退出查询;不到5次时,用户可以选择退出。当用户输入编号14,显示相应水果的单价(保留一位小数);输入0,退出查询;输入其他编号,显示价格为0。试编写相应程序。
[1] apples
[2] pears
[3] oranges
[4] grapes
[0] Exit
#include <stdio.h>
int main()
{int choice, i;double price;for (i = 1; i <= 5; i++){printf("[1]Select apples \n");printf("[2]Select pears \n");printf("[3]Select oranges \n");printf("[4]Select grapes \n");printf("[0]exit \n");printf("Enter choice:");scanf("%d", &choice);if (choice == 0)break;switch (choice){case 1:price = 3.00;break;case 2:price = 2.50;break;case 3:price = 4.10;break;case 4:price = 10.2;break;default:price = 0;break;}printf("price=%0.1f/kg\n", price);}printf("Thanks!\n");return 0;
}