• 第二次作业


     https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2292

    第三次作业
    7-7 计算火车运行时间 (15 分)

    本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。

    输入格式:

    输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。

    输出格式:

    在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。

    输入样例:

    1201 1530
    

    输出样例:

    03:29


    1.实验代码
    #include<stdio.h>
    int main()
    {
      int a,b,m,n;
      scanf("%d %d",&a,&b);
      m=b/100-a/100;
      n=b%100-a%100;
      if(n<0){n=60+n;
        m=m-1;
      }
      printf("%.2d:%.2d",m,n);
      return 0;
    }
    2.设计思路

    第一:明确将小时和分钟分开算,定义变量。

    第二步:小时数是两个四位数除以100后取整作差,分钟数是两个四位数除以100取余后作差。

    第三步:这里要做一个判断,如果分钟数减下来是负的,那么要向小时数借“1”,即加上60mins再减。

    流程图


    3.本题调试过程碰到问题及解决办法.
    我是一个喜欢仔细审题然后再做的人,因为我觉得不审题直接做反而会事倍功半。
    仔细阅读题目后,我发现了本题中几个重要的突破点:1.借位是60,不是100。 2.取余的方法,或者说取余怎么用字符表示。
    第2个点我查了资料,关键字是devC++怎么"取余",并无词条。后来我问了表哥(他是本专业已毕业四年的),得知是用%表示。



     

    7-3 出租车计价 (15 分)

    本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:

    • 起步里程为3公里,起步费10元;
    • 超起步里程后10公里内,每公里2元;
    • 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
    • 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

    输入格式:

    输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。

    输出格式:

    在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。

    输入样例1:

    2.6 2
    

    输出样例1:

    10
    

    输入样例2:

    5.1 4
    

    输出样例2:

    14
    

    输入样例3:

    12.5 9
    

    输出样例3:

    34

    1.实验代码
    #include<stdio.h>
    int main(){
      int t;
      double x,y;
      scanf("%lf %d",&x,&t);
      if (t<5){
        if (x<=3){
          y = 10;
        }
        else if (3<x && x<=10){
          y = 10+(x-3)*2+0.5;
        }
        else if (x>10){
          y =  10+7*2+(x-10)*3+0.5;
        }
      }
      else{
        if (x<=3){
          y = 10+t/5*2+0.5;
        }
        else if (3<x && x<=10){
          y =  10+(x-3)*2+(t/5)*2+0.5;
        }
        else if (x>10){
          y = 10+7*2+(x-10)*3+(t/5)*2+0.5;
        }
      }
      printf("%d",(int)y);
      return 0;
    }
    2.设计思路
    第一步:不同的路程区间,有不同的收费标准,同时如果停车,要另外计算时间的费用。
    第二步:使用if else语句

    流程图

    3.本题调试过程碰到问题及解决办法.
    我的初始代码中没有“+0.5”这一项,所以只是部分正确。

     

    由上图可以看出,当x>10时,结果就不对了。当时,怎么也想不通这个问题,后来通过问同学和查资料,发现“  浮点数结果加0.5结合强转即可四舍五入”。

    于是我在后面加上了0.5,再次进行编译、调试,得到了结果。

    4.个人总结.

    (1)这两周主要学习了条件语句以及条件语句中的一些思维方法,以及定义条件时的一些技巧。

    (2)明白困难是一定会遇到的,遇到困难不要纠结痛苦,要学会独立思考,查阅相关资料,解决问题才是真的。

    博客字数、代码行数统计:

    作业点评:

    http://www.cnblogs.com/xiaofengqaq/p/9845665.html

    http://www.cnblogs.com/0224ming/p/9859207.html

    http://www.cnblogs.com/wafx/p/9898522.html

    保持谦逊与努力。
  • 相关阅读:
    A B
    hdu 4656 Evaluation [任意模数fft trick]
    bzoj 3451: Tyvj1953 Normal [fft 点分治 期望]
    bzoj 3509: [CodeChef] COUNTARI] [分块 生成函数]
    hdu 5730 Shell Necklace [分治fft | 多项式求逆]
    hdu 4609 3-idiots [fft 生成函数 计数]
    UVA 12633 Super Rooks on Chessboard [fft 生成函数]
    Codeforces Round #410 (Div. 2)
    形式幂级数 [学习笔记]
    Python 字符串前面加u,r,b,f的含义
  • 原文地址:https://www.cnblogs.com/1017547133jyj/p/9845893.html
Copyright © 2020-2023  润新知