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

    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 C语言I作业06
    我在这个课程的目标是 熟悉多分支结构、字符型数据类型和逻辑运算符
    这个作业在那个具体方面帮助我实现目标 能够了解运算符,熟悉分支结构
    参考文献 C语言程序设计,百度,百度文库

    1.PTA作业

    1.PTA实验作业

    1.1输出闰年

    内容:输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。输入在一行中给出21世纪的某个截止年份。逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。

    1.1.1数据处理

    数据表达:定义整形变量x,y,i;x为输入的年份,y为计算出闰年,i用于循环结构
    数据处理:运用了if-else语句和for循环结构,在满足2000<x<2100的前提下,由是否能被4整除但不能被100整除或者能被400整除进行判断,能够得出闰年

    1.1.2实验代码截图

    1.1.3造测试数据

    输入数据 输出数据 说明
    输入数据 输出数据 说明
    1999 Invalid year! 非21世纪
    2200 Invalid year! 过21世纪的年份
    2002 None 没有闰年
    2004 2004 处于21世纪正好截到闰年
    2009 2004 2008 21世纪的年份

    1.1.4PTA提交列表及说明


    提交列表说明:
    1.部分正确:没有闰年的情况没有取好范围,经过调试之后,将14行else if后加(x>2000&&x<=2003)
    2.在编译时的错误:把‘,’打成中文‘,’;将‘!’用错;最后‘{’不见了,可能是不小心删掉了

    1.2计算火车运行时间

    内容:本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。
    数据表达:定义整型变量x,y,a,b,c,d;其中x,y为4位正整数,a,c分别为x,y的前两个数;bd分别为x,y的后两位
    数据处理:运用if-else语句,在d-b<0;c-a=0&&d-b>0;d-b>0;d-b0,a-c0;c-a>0&&d-b==0;这几个条件下,计算出时间

    1.2.2实验代码截图

    .

    1.2.3造测试数据

    输入数据 输出数据 说明
    输入数据 输出数据 说明
    1109 1209 01:00 边界测试
    1256 1312 00:16 分钟需要错位
    1215 1425 02:10 读入和输出均有补0

    1.2.4PTA提交列表及说明


    提交列表说明:
    1.编译错误:第五行“xy”前面的&忘记输入,后将&输入
    2.部分错误:没有考虑d-b<0的情况,之后加入(“%02d:%02d”,c-a-1,60-b+d)
    3.部分错误:c-a=0,d-b=0这种情况没有考虑到,之后加上else if(d-b0&&a-c0){
    printf("00:00");

    4.部分错误: 没有考虑到c-a>0,d-b=0的情况,后来问了助教解决了,增加else if(c-a>0&&d-b==0){
    printf("%02d:%02d",c-a,00);

    5.部分错误:同上,觉得没有错误就再一次提交,后来改了

    2.代码互评

    自己的代码

    别人的代码


    1.变量不同,我用了x,y,i;他用了n,m,i
    2.都用了逻辑运算符&&,||
    3.他的看起来简洁一点,我多用了else if(x>2000&&x<=2003),复杂一点

    自己的代码

    别人的代码

    *
    1.变量不同,我用了N,n,i;他用了a,b,i,c,N
    2.他直接将b=0,c=0输入在第一个int后,我多输出int x=0,y=0,都差不多
    3.他定义i=1,而我是i=0,因为后面的不同,都是正确的
    4.他用的是while循环,而我是for循环
    5.我用了!=为==的相反面

    3.学习总结

    3.1学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第六周 20h 60 用WinGW-w64来编译C程序 文档真的打不开,可能是电脑原因
    第七周 10h 90 关系运算,if-else语句,格式化输入语句scanf()
    第八周 8.5h 80 for的循环语句,指定次数的循环程序设计 不太会文字与数学的转换
    第九周 8h 100 函数的调用和定义的初步认识 自定义函数不熟悉
    第十周 10h 170 多分支结构、字符型数据类型和逻辑运算符 多个数据输出不熟练

    3.2累积代码行和博客字数

    3.3学习内容总结和感悟

    3.3.1学习内容总结

    3.3.2学习体会

    1.能够在自己电脑上安装devc++,并将作业在上面编译,是非常不错的,虽然不够熟练;
    2.可能自己在数学方面比较弱,经常会出现答案错误或者是部分正确,需要训练数学技巧;
    3.要善于利用网络去学习,了解更多的知识,毕竟书本上是有限的;
    4.还是要理解代码字符的含义,这样才能找到错误的根源;
    5.虽然C语言是在线上写作业的,但是还是需要做好笔记,以便以后查阅复习,了解框架。
    6.查阅资料,还是不理解左值操作

  • 相关阅读:
    SQL逻辑查询处理阶段
    将json字符串转换为json兑现
    JSTL核心标签库
    eclipse用4个空格代替Tab 每行80字符限制提示线显示空格
    MyEclipse8.6 性能优化
    jsp/servlet总结复习
    SQLServer之MERGE INTO
    as3效率提升
    让默认TextField更清晰地显示中文
    as3垃圾回收机制
  • 原文地址:https://www.cnblogs.com/zhangsanri/p/11780329.html
Copyright © 2011-2022 走看看