zoukankan      html  css  js  c++  java
  • C语言I博客作业06 sun

    问题 答案
    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 C语言I博客作业06
    我在这个课程的目标是 熟练掌握C语言
    这个作业在哪个具体方面帮助我实现目标 深化了以前学习的语句,更加了解if-else语句的用法
    参考文献 Markdown基本语法

    一.PTA实验作业

    1计算火车运行时间

     题目内容描述:本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
    
    输入格式:
     输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。
    
    输出格式:
     在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。
    
    输入样例:
     1201 1530
    
    输出样例:
     03:29
    

    (1)数据处理

     数据表达:用了整形变量n,m,a,b,n,m是用户传入的参数,a和b来保存输出的时间。
     数据处理:用了if-else语句,用了表达式a=n%100-m%100和b=n/100-m/100。
    

    (2)实验代码截图

    (3)造测试数据

    输入数据 输出数据 说明
    0101 0200 00:59 验证分钟是否借位
    0100 0200 00:60 进行边界测试
    1200 1401 02:01 验证读入和输出均是否有补0

    (4)PTA提交列表及说明

    提交列表说明

     1.部分正确:未考虑分钟需要借位问题,未做改动
    
     2.部分正确:未考虑分钟需要借位问题,未做改动
    
     3.部分正确:未考虑分钟需要借位问题,未做改动
    
     4.部分正确:未考虑分钟需要借位问题,将变量a分为大于0和小于0
    
     5.部分正确:,未考虑a=0,将a>0改为a>=0
    

    2. 输出闰年

     题目内容描述输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
    
    输入格式:
     输入在一行中给出21世纪的某个截止年份。
    
    输出格式:
     逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
    
    输入样例1:
    2048
    
    输出样例1:
     2004
     2008
     2012
     2016
     2020
     2024
     2028
     2032
     2036
     2040
     2044
     2048
    
    输入样例2:
     2000
    
    输出样例2:
      Invalid year!
    

    (1)数据处理

     数据表达:用了整形变量Y,i,o,,Y是用户传入的参数,a来保存输出的年份,i用来进行for循环。
     数据处理:用了if-else语句,用了表达式i<=((Y-2000)/4-Y/2100),用来循环出符合条件的每一个年份。
    

    (2)实验代码截图

    (3)造测试数据

    输入数据 输出数据 说明
    2012 2004,2008.2012 输入正常的21世纪年份,正好截止到某闰年
    2000 Invalid year! 输入小于2001 非21世纪的年份
    2011 2004,2008 输入21世纪内的年份
    2500 Invalid year! 输入超过21世纪上界的年份
    2002 None 输入没有闰年的年份

    (4)PTA提交列表及说明

    提交列表说明

     1.部分正确:小于2001 非21世纪的年份,21世纪内的年份,超过21世纪上界的年份,没有闰年,错误。if表达式的语句写的(2004<=Y<2100)而if里一下子只能判断一半边,后改为2004<=Y&&Y<2101。
    
    
     2.部分正确:小于2001 非21世纪的年份,21世纪内的年份,超过21世纪上界的年份,错误。(Y%100)这个表达式意味着当Y不能整除4时(Y%100的余数不等于0时)表达式为真,所以我将i<=((Y%100)/4-1)和i<=((Y%100)/4)改为i<=((Y-2000)/4-Y/2100)。
    
    
     3.部分正确:小于2001 非21世纪的年份,超过21世纪上界的年份,错误。 printf("Invalid year"),忘记加感叹号,改为 printf("Invalid year!")后,答案正确。
    

    二.代码互评

    同学( 杨 宇 )代码:

    同学(柏朝晖)代码:

    自己代码:

    比较

     (1)1.2份代码第二行都加了int,而我的没有。(其实我只是忘记打int了,发现int不打也可以成功就没有码过了)
     (2)我使用了else,用了两个printf,而她们只用了一个printf。
     (3)第二份的代码比我的代码行数少,使用了更少的空间。
    

    三.学习总结

    1.学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第四周/9.16~9.22 7小时 100行 在屏幕上显示Hello World! 暂无
    第五周/9.23~9.29 8小时 100行 求华氏温度对应的摄氏温度 暂无
    第六周/9.30~10.6 30小时 200行 如何用 MinGW-w64 来编译C程序 暂无
    第七周/10.7~10.13 24小时 300行 运用if语句完成各种数学程序 对于&&的用法不了解
    第八周/10.14-10.20 24小时 300行 学会了for循环语句 暂无
    第九周/10.21-10.28 24小时 300行 学会了如何去自定义一个函数 暂无
    第十周/10.28-11.3 30小时 400行 学会了if-else语句的嵌入 对“(Y%100)这个表达式意味着当Y不能整除4时(Y%100的余数不等于0时)表达式为真”这句话不是很懂

    2. 累积代码行和博客字数

    3 .学习内容总结和感悟

    (1)学习内容总结

    (2) 学习体会


    做这一次作业所用的时间比往常长了很多,主要是PTA上的题目是以往来最多的一次,做PTA时的心情如上图所示。
    虽然总是错误让人很痛苦,但在做PTA的过程中我学到了更多的东西,逐渐掌握了函数的多分支,以及在分支结构中循环语句、if-else语句的嵌入,编译错误也越来越少。
    希望慢慢的我做作业的速度越来越快吧。

  • 相关阅读:
    多按键设计的标准思路
    与,非,或门总结
    i2c中应答信号信号总结
    i2c中start和restart的区别
    poj 1631 Bridging signals
    poj 2533 Longest Ordered Subsequence
    poj 1887 Testing the CATCHER
    poj 1088 滑雪
    poj 1014 Dividing
    babel转码时generator的regeneratorRuntime
  • 原文地址:https://www.cnblogs.com/sunmengjiaoing/p/11760468.html
Copyright © 2011-2022 走看看