第二次作业

【作业要求】: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.

posted @ 2018-11-06 22:39  晚笙  阅读(264)  评论(12编辑  收藏  举报