zoukankan      html  css  js  c++  java
  • 第九周编程总结

    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 (void)
    {
    int choice,i;
    double price;
    printf("[1] apple ");
    printf("[2] pear ");
    printf("[3] orange ");
    printf("[4] grape ");
    printf("[0] exit ");
    for(i=1;i<=5;i++){
    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.20;break;
    default:price = 0.00;break;
    }
    printf("price = %.2lf ",price);
    }
    return 0;
    }

    2)设计思路
    1.定义水果价格,种类
    2.进行价格输出
    3.使用循环语句和switch语句对不同水果价格进行输出
    4.返回主函数

    3)本题调试中遇到的问题及解决方案
    1.将水果种类放到了for循环里面
    2.格式错误

    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(void)
    {
    int a,b;
    double money,price,z;
    char op;

    scanf("%d %d %c", &a, &b, &op);
    switch(b)
      {
      	case 90:price = 6.95; break;
      	case 93:price = 7.44; break;
      	case 97:price = 7.93; break;
      }
    switch(op)
      {
      	case 'm':z = 0.95; break;
    	  case 'e':z = 0.97; break; 
      }
       money = price*z*a;
    printf("%.2f",money);
    
    return 0;
    

    }

    2)设计思路
    1.定义(int)汽油品种和加油量,(double)价格,折扣和应付总金额,(char)服务类型
    2.使用两个switch将汽油品种和服务类型进行分类,最后算出应付总金额
    3.输出,返回主函数

    3)本题调试中遇到的问题及解决方案
    暂无

    4)运行结果截图

    7-3 计算天数 (15 分)
    本题要求编写程序计算某年某月某日是该年中的第几天。

    1)实验代码

    include<stdio.h>

    int main()
    {
    int y,m,d,i,t;
    scanf("%d/%d/%d",&y,&m,&d);
    t=d;
    for(i=1;i<m;i++){
    switch(i) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
    t=t+31;
    break;
    case 4:
    case 6:
    case 9:
    case 11:
    t=t+30;
    break;
    case 2:
    if((y%40)&&(y%100!=0)||(y%4000))
    t=t+29;
    else
    t=t+28;
    }
    }
    printf("%d",t);
    return 0;
    }

    2)设计思路
    1.定义总天数t,首先t=d(d为天数)
    2.用for循环,用switch分类,30天,31天,再用if判断2月份,一步步累加
    3.输出总天数

    3)本题调试中遇到的问题及解决方案
    switch的三种用法会搞混淆

    4)运行结果截图

  • 相关阅读:
    服务器端口
    Format(const wchar_t *,...)”: 不能将参数 1 从“const char [3]”转换为“const wchar_t *”.
    图片格式
    CreateEx
    电力谐波
    [OGeek2019]babyrop
    Simple Inject
    [GXYCTF2019]BabySQli
    [CISCN2019 华北赛区 Day2 Web1]Hack World
    极客大挑战2019
  • 原文地址:https://www.cnblogs.com/xirfly/p/9969870.html
Copyright © 2011-2022 走看看