• C语言I博客作业07


    一、本周教学内容&目标

    第3章 分支结构 3.3 使学生熟悉多分支结构switch语句的使用

    二、本周作业

    问题 答案
    这个作业属于哪个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9934
    我在这个课程的目标是 掌握并熟练用代码解决实际问题
    这个作业在哪个具体方面帮助我实现目标 重复写代码,运用多种语句,例如lf-else语句,for语句,switch语句
    参考文献 C语言程序设计I和习题实验指导书,QQ浏览器

    三、本周作业

    1.PTA实验作业

    请在此处列出自己的排名图片

    1.1题目

    输入格式:
    输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。 
    输出格式:
    在一行输出日期是该年中的第几天。    ```
    * 1.1.1 数据处理
    ```数据表达:首先对年月日分别定义为整型变量,因题目后面需要求和,故要定义整型求和变量,再是赋值求和sum=0,利用各语句循环,最后输出。   ```
    ```数据处理:该题运用了三种重要语句,for语句、if语句、switch语句,例如 i=1;i<month;i++、case 3:sum=sum+31;break。其次重要的是关系运算符和逻辑运算符,例如(year%4==0)&&(year%100!=0)||(year%400==0),最后输出。  ```
    * 1.1.2 实验代码截图
    ![](https://img2018.cnblogs.com/blog/1806788/201911/1806788-20191108163901446-224077064.png)
    
    * 1.1.3 造测试数据
    
    
    |输入数据|输出数据|说明|
    |:--|:--|:--|
    |2009/03/02|61|不能被4整除,也不能被100整除,所以不是闰年|
    |2000/08/05|218|既能被4整除,也能被100整除,所以也不是闰年|
    |2002/02/19|50|不能被4整除,也不能被100整除,所以不是闰年|
    |2018/07/03|184|不能被4整除,也不能被100整除,所以不是闰年|
    |2016/05/04|125|<font color="red">能被4整除,但不能被100整除,所以是闰年</font>|。
    
    * 1.1.4 PTA提交列表及说明
    ![](https://img2018.cnblogs.com/blog/1806788/201911/1806788-20191108171254562-1927521519.png)
    ```说明:a1 编译错误:switch后面不需要打大括号,将大括号去掉。     a2 答案错误:知道i=1,就以为month大于等于1,实则不要等于1,将等于去掉。 ```   
    
    ####1.2题目
    ```本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
    大于等于90分为A;
    小于90且大于等于80为B;
    小于80且大于等于70为C;
    小于70且大于等于60为D;
    小于60为E。
    输入格式:
    输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。 
    输出格式:
    在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。   ```
    
    * 1.2.1 数据处理
    ```数据表达:首先分别定义题目中给出的A,B,C,D,E,均为整型变量,然后再整型定义变量正整数N和分数score和求和sum,其次是对A,B,C,D,E分别赋值0,最后在for语句和switch语句之后输出。   ```
    ```数据处理:此题灵活运用了for语句和switch语句,例如for(i=1;i<=n;i++)和switch(sum),其中for循环语句中利用了表达式,即sum=score/10,最后运用switch语句依次分情况break,最后输出。 ```
    
    * 1.2.2 实验代码截图
    ![](https://img2018.cnblogs.com/blog/1806788/201911/1806788-20191108163956638-1985385965.png)
    
    * 1.2.3 造测试数据
    
    
    |输入数据|输出数据|说明|
    |:--|:--|:--|
    |4 65 74 44 99|1 0 1 1 1|五分制成绩为A,C,D,E的人数均为1人|
    |5 77 89 91 65 79|1 1 2 1 0|五分制成绩为A,B,D的人数均为1人,而得C的有2人|
    |6 78 55 76 89 91 71|1 1 3 0 1|五分制成绩为A,B,E的人数均为1人,而得C的有3人|
    | 7 77 54 92 73 60 65 69|1 0 2 3 1|五分制成绩为A,D的人数均为1人,C的人数为两人,E的人数为3人|
    |8 65 74 83 92 81 67 84 74|1 3 2 2 0|五分制成绩为A的只有1人,C,D均为2人,B为3人|
    
    * 1.2.4 PTA提交列表及说明
    ![](https://img2018.cnblogs.com/blog/1806788/201911/1806788-20191108180402785-1807559104.png)
    ```说明: a1 部分错误:忘在for循环语句中加大括号,加上大括号     a2 编译错误:以第一个题目出发,当时switch后面并没有打大括号,而此题没有打大括号显示的是编译错误,应把大括号加起来。   ```
    
    ###2.代码互评
    ####2.1模板一
    ![](https://img2018.cnblogs.com/blog/1806788/201911/1806788-20191108190208866-1965410023.png)
    ```差异:1.定义变量的字母差异,该同学是用单字母直接替代年月日,而我是用年月日的单词替代,比较好一点,因为这样有利于我们的英语学习。   2.我比这位同学多定义了i,从而多出了一个for循环语句,复杂化了。   3.后面表示sum,我是用sum+day的形式,而该同学是总数形式,我觉得我的代码更加易懂。   ```
    
    ####2.2模板二
    ![](https://img2018.cnblogs.com/blog/1806788/201911/1806788-20191108191547833-110988485.png)
    ```差异:1.前面定义的变量基本上是一样的,但他分开了两部分,而我是一起一次性定义。   2.我比他多定义了一个sum,而他是直接用score/10来表示。   3.他的switch语句是从a到e,而我是e到a,并且对于e的条件显得非常复杂,而他直接用default,简单化了。   ```
    
    ###3.学习总结
    ####3.1 学习进度条
    
    
    |周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题|
    |:--|:--|:--|:--|:--|
    |第一周|4/h|150|学会了输入输出字符|如何去定义和运用Markdown格式|
    |第二周|12/h|300|知道定义变量和表格的制作及Markdown格式的运用|运算符怎么输入|
    |第三周|15/h|396|学会了折线图的制作和lf-else语句的运用及多种运算符的使用|怎样才能使输入代码更加简便,有没有惯用的|
    |第四周|13/h|350|for的循环结构|各种情况下各种变量的灵活运用|
    |第五周|12/h|370|用代码输入生成乘方表和阶乘表|不知道该定义多少个量|
    |第六周|16/h|400|字符型数据类型和逻辑与关系运算符|做了PTA上面的几个编程题,感觉有的题目自己看不懂,不知道如何写表达式|
    |第七周|9/h|310|多支结构switch语句|不知道该对谁应用switch语句,题目意思转化成代码不知如何表达|
    
    ####3.2 累积代码行和博客字
    ![](https://img2018.cnblogs.com/blog/1806788/201911/1806788-20191108111612044-1641130606.png)
    
    ####3.3 学习内容总结和感悟
    #####3.3.1学习内容总结
    ![](https://img2018.cnblogs.com/blog/1806788/201911/1806788-20191108160202635-433183503.png)
    
    #####3.3.2学习体会
    我觉得在解决问题上面,一个清晰的思路是非常重要的,就拿这次作业代码来讲,看起来是很容易看懂的,写起来也没有之前的那么吃力,但一开始你就要有一个清晰的思路,一步一步解决问题,在这里,可能有好多同学说自己题目看不懂,我就是,但只要自己认真看,认真省,一句一句去剖析题目,相信最后能够看懂题目,并利用所学知识将题目解答出来。
  • 相关阅读:
    npm脚本和package.json
    Vue官方文档笔记(二)
    Vue官方文档笔记
    2019windows上安装Mac OS 10.14过程详细截图
    三次握手四次挥手
    ==和equals的区别
    Stringbuffer和Stringbuilder的区别
    字符串拼接五种常用方法
    什么是线程以及保证线程安全
    什么是线程安全,怎样保证线程安全
  • 原文地址:https://www.cnblogs.com/abcd123456/p/11809475.html
Copyright © 2020-2023  润新知