zoukankan      html  css  js  c++  java
  • 第二次作业

    【作业要求】:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2292

    第三次作业:7-7 计算火车运行时间

    1.实验代码

    #include<stdio.h>
    int main()
    {
        int x,y;
        scanf("%d %d",&x,&y);
        
        int a,b;
        
        a = y / 100 - x / 100; 
        b = y % 100 - x % 100;
        if(b>=0){
            printf("%02d:%02d",a,b);
        }
        else{
            a = a - 1;
            b = b + 60;
            printf("%02d:%02d",a,b);
        }
        return 0;
    }

    2.设计思路

    第一步:仔细阅读作业题目要求,输入格式及输出格式。观察输出样例及输入样例的数字间是否存在空格。

    第二步:定义整型变量x(出发时间),y(到达时间),a(所用小时数),b(所用分钟数)。

    第三步:利用a=y/100-x/100及b=y%100-x%100分别求出所用小时及所用分钟数。因为变量被定义为整型,符号/可以运用除法运算求出前两位小时,符号%可以运用求余运算求出后两位分钟。

    第四步:判断后两位分钟数的两种情况,利用if-else语句分别求出不同情况下的结果。

    第五步:输出结果。

    流程图

     

    3.本题调试过程碰到问题及解决办法

    刚开始我的代码及调试是这样的,输出结果为3:29,小时的前面并没有补0。

    通过同学的帮助与在网络上的查询,代码应输入为printf("%02d:%02d",a,b);其中%02d代表如果整数不够2列就补上0,如果大于2则没有影响。例如当结果为1时输出01,当结果为11时则正常输出11。

    但这只是错误之一,我发现当出发时间的分钟数大于到达时间的分钟数,会变成如下情况。

    当出发时间分钟数大于到达时间分钟数时,输出结果会出现负数。因此,需要运用if-else语句分别解释这两种不同情况。

    情况一:出发时间分钟数小于到达到达时间分钟数。

    情况二:出发时间分钟数大于到达时间分钟数

    然后就输出了不同情况下的正确结果。

    第四次作业:7-4 比较大小

    1.实验代码

    #include <stdio.h>
    #include <math.h>
    int main()
    {
      int a,b,c;
      scanf("%d %d %d",&a,&b,&c);
      if(a>b&&b>c){
        printf("%d->%d->%d",c,b,a);
      }
      else if(a>c&&c>b){
        printf("%d->%d->%d",b,c,a);
      }
      else if(b>a&&a>c){
        printf("%d->%d->%d",c,a,b);
      }
      else if(b>c&&c>a){
        printf("%d->%d->%d",a,c,b);
      }
      else if(c>a&&a>b){
        printf("%d->%d->%d",b,a,c);
      }
      else{
        printf("%d->%d->%d",a,b,c);           
      }
      return 0;
    }

    2.设计思路

    第一步:仔细阅读作业题目要求,输入格式及输出格式。观察输出样例及输入样例的数字间是否存在空格。

    第二步:定义整型变量a,b,c。利用if-else语句判断三个数字的大小,并从小到大依次输出。

    第三步:按照输出格式输出结果。

    流程图

     

     3.本题调试过程碰到问题及解决办法

    刚开始我的代码及调试是这样的,编译并没有出错,但是无法从小到大依次输出正确格式。

    经过同学的帮助以及查阅资料书,我明白了错误出在(a>b>c)上。

    正确形式应该是(a>b&&b>c),其它以此类推。

    其中&&代表 与,意为同时都要满足。

    更改后的代码及调试如下

     

    这样就能输出正确的格式,同理,其它情况同样适用。

    4.个人总结

    (1)在本周的学习当中,我学习到了if-else语句,可以通过语句判断并计算多种不同情况。在学习中确实遇到了一些问题,比如没有仔细观察题目,没能理解其中的隐含条件。通过做题不仅巩固了if-else语句的知识,同时也掌握了新的知识:%02d的含义。通过 7-4 比较大小这道题,也学会了分类讨论的学习思想。

    (2)本周的学习内容中感觉if-else语句和else-if语句比较难,经常混淆它们的概念。对此,通过上网查询资料以及与同学的交流,明白了这周的学习内容,并学习到了新的知识。

    作业点评:http://www.cnblogs.com/zst1/p/9912320.html

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

                  http://www.cnblogs.com/chen0803/p/9912503.html.

  • 相关阅读:
    [源码解析] PyTorch 流水线并行实现 (4)--前向计算
    [源码解析] PyTorch 流水线并行实现 (3)--切分数据和运行时系统
    [源码解析] PyTorch 流水线并行实现 (2)--如何划分模型
    [源码解析] PyTorch 流水线并行实现 (1)--基础知识
    [源码解析] 深度学习分布式训练框架 horovod (21) --- 之如何恢复训练
    [源码解析] 深度学习流水线并行 PipeDream(6)--- 1F1B策略
    [源码解析] 深度学习流水线并行 PipeDream(5)--- 通信模块
    [源码解析] 深度学习流水线并行 PipeDream(4)--- 运行时引擎
    6.耐心——想象力决定生产力
    5.权利——自由不等于免费
  • 原文地址:https://www.cnblogs.com/mashihao/p/9912314.html
Copyright © 2011-2022 走看看