• 第4次作业(条件)比较大小。第3次作业(条件)计算火车运行时间。


    作业要求(请点击!!)
    题目7-4 比较大小
    1.实验代码

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

    <font size=4 face=“微软雅黑">2.设计思路
    第一步:通过if条件,将a变成输入的三个数中最大的那一个,b为第二大,c为最小。
    第二步:首先用if语句设定比较a与b、a与c的大小。
    第三步:将a通过赋值方法变成题目要求的最小值,即a=2.
    注:赋值法需要一个变量存储a的值,所以这里引入了来做存储a的变量。然后经过一个循环等于,即t=a,a=b,b=t,将a的值变为三者最小。

    <font size=3 face=“微软雅黑">流程图:

    <font size=4 face=”微软雅黑">3.本题调试过程碰到问题及解决办法

    刚开始看到比较大小时的第一个想法是:C语言里应该有两个“函数”,一个来表示取这组数据中的最大值(Max),一个来表示去这组数据中的最小值(min)。但是经过查找资料,耗费了很长时间,到最后依然没有找到心中想象的那个“函数”,所以就想到一个一个的可能都写出来,毕竟只有三个输入的数据,各种可能加在一起也可以数的过来,但是在程序输到一半的时候我放弃了,因为感觉这样输入的代码太过繁琐,并且没有实际的作用,潜意识的认为这种情况就算是写对了,也没有达到这道题目想要自己学习的“点”,因此我放弃了一种一种可能全输上去的方法,开始寻找第三种,也就是If 赋值法,最开始我将题目完整的复制到百度搜索,看到了if条件赋值的方法,最开始我是不理解这种方法的实际应用的,因此我将网上找到的源代码完整的复制到了我的电脑中的“dev c++”中,自己进行编译输入了一些数据,并用口算跟着代码的编写去进行了一次计算,懂得了if赋值方法的应用,因此开始自己尝试编写代码来验证自己对代码的认识。刚开始的输入因为不理解"->"符号的意思而频繁出错。
    事实证明不动脑思考动动手指问别人是不可靠而且没有用处的,经过仔细的查看题目,我发现了"2->4->8"的字样,因此知道了"->"不是自己认知上的">"而是"<",所以我将代码进行了修改,但是结果也不尽人意。
    因此我开始调试程序。

    发现a和b先互换,b和c再互换,这时由于a和b无法再次比较,所以不能进行互换了,如图

    所以应该对a与b、a与c先进行比较,才能使程序正确运行。

    对于之前提到的循环等于:初次使用我认为这是一个“循环”,即是循环等于,毫无疑问这种想法是错误的,它不会一次又一次的循环而是仅仅只执行一步。

    下面是第三次作业。

    题目7-7 计算火车运行时间
    1.实验代码

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

    <font size=4 face=“微软雅黑">2.设计思路
    第一步:通过同学的帮助,认识了“/100”与“%100”分别是取余和取整。
    第二步:通过减法和取余取整算出了时间差。
    第三步:当分钟出现负数时需要向小时数借一位。既是if语句。

    <font size=3 face=“微软雅黑">流程图:

    <font size=4 face=”微软雅黑">3.本题调试过程碰到问题及解决办法
    起初看到这个题,我并没有想到取余取整的方法,而是想到了上一次的作业中int断点取整。当时的代码由于时间问题已经找不到了,只能找到一张没有完善代码的截图,截图如下。

    当时还写了if语句使它为负数时可以向小时借位,如果分钟位大于60,也向小时位进位,计算和结果都没有错误,但是提交一直不通过显示格式错误,所以现在也不知道这段代码的正确性,这是我没有想到取余取整时所能想到全部了,所以花了很长时间去完善它,但是结果依然不尽人意,因此我向同学询问了这个的做题方法,得到了取余取整的方法,接着因为忽略的进位和借位,导致了错误,通过调试,发现了错误并进行了改正。

    最后顺利完成了此次作业。

    总结
    本周所得
    1.学习了if语句,else if语句 ,程序运行的方法,调试的方法,取余,取整,分段函数的表示方法,doublefloat的用法和保留小数位数的方法,以及char的使用。

    遇到的问题
    1.if语句连续使用和if与else if使用不一样,一开始对这两个函数混淆,导致程序出错。
    2.调试必须使用断点,会在断点区间内进行否则不会开始。
    3.float不是只能取小数点后一位,作为单精度浮点数有效数位为七位,而双精度浮点数double是十六位。

    解决问题的方法
    1.百度 百度查找后自己进行计算解读,特殊的运算符不懂问同学或者继续百度。
    2.问同学. 面对面问会的同学会比查找百度更加容易理解和深刻,
    4.问学生群. 但大多数情况下没有用,网络的便捷性导致了获得知识真假性难以辨别。
    3.问老师. 不到万不得已我一般不会选择问老师,老师自身的繁忙导致了不能快速的回答问的问题,一般问题都可以通过前两种方法快速解决。

    学习情况

    折线图:

    评价:李浩正
    范纯铭
    王炬皓

  • 相关阅读:
    动态生成 Excel 文件供浏览器下载的注意事项
    JavaEE 中无用技术之 JNDI
    CSDN 泄露用户密码给我们什么启示
    刚发布新的 web 单点登录系统,欢迎下载试用,欢迎提建议
    jQuery jqgrid 对含特殊字符 json 数据的 Java 处理方法
    一个 SQL 同时验证帐号是否存在、密码是否正确
    PostgreSQL 数据库在 Windows Server 2008 上安装注意事项
    快速点评 Spring Struts Hibernate
    Apache NIO 框架 Mina 使用中出现 too many open files 问题的解决办法
    解决 jQuery 版本升级过程中出现 toLowerCase 错误 更改 doctype
  • 原文地址:https://www.cnblogs.com/xiaofengqaq/p/9845665.html
Copyright © 2020-2023  润新知