黑马程序员技术交流社区

标题: switch练习(希望大家多多交流) [打印本页]

作者: DarkHorseChuck    时间: 2015-4-12 21:56
标题: switch练习(希望大家多多交流)
  1. #include <stdio.h>

  2. int main()
  3. {
  4.     //定义变量
  5.     int x;//加油量
  6.     char y;//汽油品种
  7.     char z;//服务类型
  8.     float price;//单价
  9.     float favourable;//优惠
  10.     float pay;//支付
  11.     //提醒输入数据
  12.     printf("输入加油量,汽油类型,服务类型\n");
  13.     //接收用户输入的数据
  14.     scanf("%d, %c, %c", &x, &y, &z);
  15.    
  16.     //根据输入选择汽油类型
  17.     switch(y)
  18.     {
  19.         case 'a':
  20.             price = 6.92;
  21.             break;
  22.         case 'b':
  23.             price = 7.37;
  24.             break;
  25.         case 'c':
  26.             price = 7.64;
  27.             break;
  28.         default:
  29.             printf("选择汽油类型有误!\n");
  30.             break;
  31.             
  32.    
  33.     }
  34.     //根据输入选择服务类型
  35.     switch(z)
  36.     {
  37.         case 'f':
  38.             favourable = 0;
  39.             break;
  40.         case 'm':
  41.             favourable = 0.05;
  42.             break;
  43.         case 'e':
  44.             favourable = 0.10;
  45.             break;
  46.         default:
  47.             printf("选择的服务有误!\n");
  48.             
  49.    
  50.     }
  51.     //应付款
  52.     pay = x * price * (1-favourable);
  53.     printf("你选择的汽油:%c,服务类型:%c,加入油量:%d,你应支付%.2f元\n", y, z, x, pay);

  54.     return 0;
  55. }
复制代码

作者: jonk    时间: 2015-4-12 22:00
建议你定义时,不要用X,Y之类的东西,最好用英文
作者: DarkHorseChuck    时间: 2015-4-12 22:07
jonk 发表于 2015-4-12 22:00
建议你定义时,不要用X,Y之类的东西,最好用英文

谢谢提醒 ,以后注意!
作者: 蓝鸟    时间: 2015-4-12 22:14
switch结构有说z是什么值了吗?
作者: DarkHorseChuck    时间: 2015-4-12 22:29
蓝鸟 发表于 2015-4-12 22:14
switch结构有说z是什么值了吗?

switch (表达式)
{
case 值1:
    语句1;
    break;
case 值2:
   语句2;
   break;
default:


}
作者: 37°天黑    时间: 2015-4-12 22:33
楼主思维缜密,佩服佩服!
作者: DarkHorseChuck    时间: 2015-4-12 22:37
蓝鸟 发表于 2015-4-12 22:14
switch结构有说z是什么值了吗?

switch (表达式)
{
case 值1:
    语句1;
    break;
case 值2:
   语句2;
   break;
...........
default:
  语句3;
  break;

}


表达式 ,执行后的结果值,与{}内依次与case 后面的值进行匹配,匹配成功,就会执行后面的代码。如果与数值都不匹配,就会执行default后面的代码。
表达式可以是一个变量,也可以是一个运算式。

我的理解是这样,希望可看懂!
作者: DarkHorseChuck    时间: 2015-4-12 22:40
37°天黑 发表于 2015-4-12 22:33
楼主思维缜密,佩服佩服!

哪里!!我也是刚学没多久,以后多多交流




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2