C语言I博客作业07

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业07
我在这个课程的目标是 熟练运算符的使用顺序、字符的含义,switch语句。
这个作业在那个具体方面帮助我实现目标 在PTA的练习中,和对知识的自我总结上
参考文献 集美大学林丽老师、百度文库、C语言程序设计

1.PTA实验作业

1.1 题目名1

计算天数

本题要求编写程序计算某年某月某日是该年中的第几天。

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

输出格式:
在一行输出日期是该年中的第几天。

1.1.1数据处理

{
    定义 年 月 日
    输入年 月 日;
    如果该年年份能被4整除但不能被100整除、或者能被400整除,为闰年
    {
        选择月份
        {
         选择月份后,天数就等于此月份以前的月份中的所有天数之和加上输入的“日”
        }
    }    
    否则
    {
        选择月份
        {
         选择月份后,天数就等于此月份以前的月份中的所有天数之和加上输入的“日”
        }
    }
        输出日期   
    结束
}

1.1.2实验代码截图

C语言I博客作业07_第1张图片C语言I博客作业07_第2张图片

1.1.3 造测试数据

输入数据 输出数据 说明
2004/04/26 117 2004为闰年
2001/04/26 116 2001不是闰年,所以少一天
2008/09/25 269 2008为闰年

1.1.4 PTA提交列表及说明

* 答案错误:未注意输出位数,导致答案错,后来问同学解决
* 答案错误:case与后面的数字间没打空格,看来错误提示发现的
* 答案错误:单词打错了,看错误提示发现的

2.2题目名2

整数的分类处理

给定 N 个正整数,要求你从中得到下列三种计算结果:

A1 = 能被 3 整除的最大整数
A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)
输入格式:
输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。

输出格式:                                                                   
在一行中顺序输出 A1、A2、A3的值,其间以 1 个空格分隔。如果某个数字不存在,则对应输出NONE。

1.1.1数据处理

{
    定义A1(A),A2(B),A2(C),正整数个数N,i(用于循环),数据s,余数b等的类型
    输入正整数个数N
    使用循环语句for(从i=1开始,i的值一直累加到i=N为止)
    {
        输入数据
        余数=输入的数据除以3
        选择余数
        {
            余数为0 :
                如果数据为能被 3 整除的最大整数
                A=该数据的值
                跳出该语句
            余数为1:
                B=累加的数据的个数;
                跳出该语句
            余数为2:
                将数据的值累加;
                将符合该条件数据个数累加;
                平均数=数据的值的和/数据个数
                跳出该语句
        }
    }
    如果A=-1
    { 
        输出NONE
    }
    否则
    {
        输出A的值
    }
    如果B=0
    {
        输出NONE 
    }
    否则
    {
        输出B的值
    }
    如果s=0并且X=0
    {
        输出NONE
    }
    否则
    {
        输出C的值
    }
    结束
}    

1.1.2实验代码截图

C语言I博客作业07_第3张图片
C语言I博客作业07_第4张图片

1.1.3 造测试数据

输入数据 输出数据 说明
5, 5 4 6 2 1 6 2 3.5 被整除的只有6,符合3k+1的只有1,4
4, 6 4 1 8 6 2 8.0 平均数为浮点型变量
6,3 3 3 3 3 3 3 NONE NONE 没有符合3k+1,3k+2的数字

1.1.4 PTA提交列表及说明

C语言I博客作业07_第5张图片

*格式错误:{位置打错了,看错误提示发现的
*部分正确:没有对C进行赋值,看错误提示发现的
*部分正确:NONE后面没打空格,问同学解决的

2.代码互评

自己代码

C语言I博客作业07_第6张图片

同学代码:

C语言I博客作业07_第7张图片

* 同学用了数组,我用的是常规方法
* 同学的case 10:后为空白,而我加了个A++;break; 相比之下同学的要简洁些

自己代码

C语言I博客作业07_第8张图片C语言I博客作业07_第9张图片

同学代码:

C语言I博客作业07_第10张图片

* 同学用了数组的方法,而我用的常规方法
* 同学代码中没有case 0 使用了default,而我一直是case语句

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介
第六周 4天 20 用 MinGW-w64 来编译C程序,学习编程计算温度的转化
第七周 3天 99 学习用if,else等语句编译程序
第八周 2天 75 学习使用循环语句,用for来编译程序
第九周 3天 94 学习各种使用函数eg:fact(i)
第十周 2天 213 学习使用多种分支结构
第十一周 1天 135 学习使用switch语句

3.2 累积代码行和博客字数

C语言I博客作业07_第11张图片

3.3 学习内容总结和感悟

3.3.1 学习内容总结

C语言I博客作业07_第12张图片

3.3.2 学习体会

这周新学习了switch语句,一开始我不是很明白switch语句与if-else语句的关系。后来在百度上查了一下。解释如下:如果纯粹比较数字或字符,建议使用switch,因为它只会在一开始的switch括号中取出变量值一次,然后将这个值与下面所设定的case比较,但如果使用if,每次遇到条件时,都要取出变量值。在随后的PTA练习中我逐渐熟悉了这个语句。在做博客园的总结中,我能更深入的思考学过的知识点,并且提高了自己的总结能力。在打字,markdowm语法的使用也很熟悉,PTA的难度、行数也在逐渐提高,代表着我需要更加努力!

你可能感兴趣的:(C语言I博客作业07)