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

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 C语言I作业07
    我在这个课程的目标是 熟练运用switch语句
    这个作业在那个具体方面帮助我实现目标 思考用switch语句地解题过程中,结合其他所学知识
    参考文献 百度

    1.PTA实验作业

     1.1 计算天数 (15 分)

    输入格式:
    输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
    输出格式:
    在一行输出日期是该年中的第几天。

     

    1.1.1数据处理

    数据表达:定义了三个整形变量,year,month,day,分别代表年月日,接着用if-else和switch语句嵌套解题

    数据处理:

    Begin 
    输入 year/month/day 
    if year满足leap-year地条件 
       Enter switch(month) 
       case (1-12);break; 
       分别对应 
    else 进入common-year 
       Enter switch(month) 
       case(1-12);break; 
       一一对应 
    return 0; 
    Exit 

      1.1.2实验代码截图


     

      

     1.1.3 造测试数据

    输入数据

    输出数据

    说明

    2000/08/23 236 能被400整除地闰年
    2019/08/23 235 平年
    2004/08/23 236 能被4整除且不能被100整除地闰年
    1900/08/23 235 能被100整除地平年

     

     

     

     

     1.1.4 PTA提交列表及说明

    编译错误 误将switch语句中地一个break后面的分号遗漏
    答案错误 在做天数的加减法时把天数加错了
    答案错误 能被400整除地闰年这个条件疏漏了

    1.2 整数的分类处理 (20 分)

    给定 N 个正整数,要求你从中得到下列三种计算结果
    A1 = 能被 3 整除的最大整数
    A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
    A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)
    输入格式:
    输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。
    输出格式:
    在一行中顺序输出 A1、A2、A3的值,其间以 1 个空格分隔。如果某个数字不存在,则对应输出NONE。
    

    1.2.1 数据处理

    数据表达:定义了7个整型变量N,i,num,maxnum,k,A1,A2。和一个浮点型变量A3。其中num和maxnum用来输出能被3整除的最大值。K代表 满足A3条件的个数用来求平均值。

    数据处理:

    BEGIN
    令 maxnum=0 
    输入 N
    
    for (i = 0;i < N;i++)
       
        
             switch(num%3)
                      case num%3=1;则A2++;break;
                      case 2:A3 = A3 + num;K++;break;
    
    得出A1,A2,A3,K,maxnum的值,跳出for循环语句
    
         if (maxnum == 0)
            输出NONE
        else
            输出maxnum
        if (A2 == 0)
             输出NONE
        else
          输出NONE
        if (A3 == 0)
              输出NONE
        else
            输出A3/K
    
    END

    1.2.2 实验代码截图

     

     

     1.2.3 造测试数据

    输入数据

    输出数据

    说明

    5
    55 66 77 88 99
    99 2 77.0 随机5位数
    6
    23 78 56 44 56 85
    78 1 44.8 随机六位数
    3
    31 91 61
    NONE 3 NONE A1,A3不存在的数

     

     

     

    1.2.4 PTA提交列表及说明

    编译错误

    在改代码的时候在某条语句中,不小心用了中文的分号,害我找了半天

    答案错误

    输出的答案之间没有用空格联系起来,后在%d之前加入空格解决

    答案错误

    误将所有的printf语句放在了for循环语句之中,导致答案按输出错误
         
     

     

     

     

    2.代码互评

    同学1代码

     

     

    我的代码

    代码相同之处:我和这位同学的思路大致相同,体现在,给定一个额外的参数(我的是maxnum,他的是result)来判断输出A1的结果。

    不同之处 这位同学把A2值的判断放在了if语句当中,而A3的值则单独用switch语句判断。 我的代码则是把A2,A3的值都放在了switch语句中得出。

    3.学习总结

    周/日期这周所花的时间代码行学到的知识点简介目前比较迷惑的问题
    第六周 20小时 372 if-else语句和数学函数 暂无
    第七周 10小时 226 分支结构 暂无
    第八周 12小时 110 for循环结构 暂无
    第九周 8小时 180 函数的声明,定义和调用 对于自定义函数的用法还比较迷茫
    第十周 21小时 350 学习了巩固了嵌套语句和逻辑表达式的使用方法 对于字符型数据类型的运用和各种运算符的先后级还有待学习
    第十一周 17小时 530 学习了switch语句的使用方法,和一些数组的使用 getchar不大会用,数组也是

     

    3.2博客字数和代码行数

    3.3 学习内容总结和感悟

      这一周的学习任然是十分的紧张,感觉除了写代码就在写其他作业,完全没时间来打游戏什么的,但是收获还是很多的。通过不断地解题,思考,再结合百度的帮助。我还是收获了许多。再加上有许多同学来问题的缘故,我能知道许多其他同学的思路,再反过来优化自己的代码。这使得我受益良多。

  • 相关阅读:
    yii 验证码功能的实现
    关于php优化 你必须知道的一些事情
    php实现两分法查找
    Python封装的访问MySQL数据库的类及DEMO
    新学习的Python的代码(while循环)
    基于位运算符的IP和数值转换
    JS数组操作常用方法
    JS输出日历
    PHP程序输出日历
    PHP中计算时间差(上周,上月,去年,昨天等)
  • 原文地址:https://www.cnblogs.com/zjw1324399/p/11817956.html
Copyright © 2011-2022 走看看