C语言I博客作业07
问题 | 答案 |
---|---|
这个作业属于哪个课程? | C语言程序设计II |
这个作业要求在哪里? | |
我在这个课程的目标是什么? | 主要熟悉代码中的技巧和运用 |
这个作业在哪个具体方面帮助我实现目标? | 学习了代码中switch的运用,加强了代码的运用性 |
参考文献 | 百度 C语言程序设计 《作业要求》 知乎 |
二、PTA作业
1、PTA实验作业
1.1 题目名
1.1.1 数据处理
数据表达:定义了year、month、day、count、X等整型变量。
数据处理:int year、month、day、count、x
if(闰年的条件)
满足:x=0,注:X为之间变量
当 x=0,即为闰年
switch(month)
case 1月 :count=0
case 2:count加一月天数
case3:count 加闰二月天数
.......
以此类推
else 非闰年
switch (month)
case 1
......
case 3:count 非闰年二月的天数
.....
printf(count+day)
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2019/09/23 | 266 | 随机造测的数据 |
2018/01/01 | 1 | 输入一个一月的数据 |
2012/03/23 | 83 | 输入一个闰年的数据 |
2008/13/21 | 21 | 输入一个假月份 |
1.1.4 PTA提交列表及说明
编译错误:没有注意switch的正确使用,在case条件后没有分号;把/写成%
答案错误:第一个闰年if条件语句中没有用大括号把switch语句括起来。
1.2 题目名
1.2.1 数据处理
数据表达;定义了i,N、score、countA、countB、countC、countD、countE、X(中间变量)
数据处理:if(分数在100-90)
x=1;
if(分数在90-80)
x=2;
if(分数在80-70)
x=3;
if(分数在70-60)
x=4;
else (分数小于60)
x=5;
switch(x)用x做中间的量,将分数范围与一个常量相通
case 1:计数A加一
.....
case 5:countD++;break;
输出A、B、C、D、E的个数
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 65 45 78 98 | 1 0 1 1 1 | 随机造测的数据 |
0 | 0 0 0 0 | 输入0个分数 |
10 0 100 78 99 65 44 13 88 76 54 | 2 1 2 1 4 | 输入较多数据 |
1.2.4 PTA提交列表及说明
格式错误:在for语句循环中,粗心把i<=N和i++写反,导致编译器运算时间超时。
答案错误:忘记将计数变量一开始等于0.
2、代码互评
7-12解法一:
7-12解法二:
总结:两种解法大相径庭,第二种简直就是简化版,省了好多空间,但我是第一种解法,有点不太懂第二种,就是我尝试它的时候,我以为score不用除以10也可以,但它却不能运行。大佬请赐教!
三、学习总结与体会
1、学习总结
1.1 学习进度条
周/日期 | 这周所花时间 | 代码行 | 学到的知识简介 | 目前比较困惑的问题 |
---|---|---|---|---|
第一周/9.24-9.28 | 四天 | 34 | 一些简单的编程 | 无 |
第二周/10.8-10.13 | 五天 | 52 | 变量分类 | 无 |
第三周/10.15-10.20 | 四天半 | 67 | if else语句 | 无 |
第四周/10.22-10.27 | 五天 | 78 | printf和scanf、定义函数 | 无 |
第五周/10.29-11.3 | 四天半 | 112 | if else多分支结构和逻辑便变量 | 无 |
第六周/11.4-11.8 | 四天 | 158 | switch语句的学习 | 无 |
1.2 累积代码行和博客字数 | ||||
2、 学习内容总结与感悟
2.1 学习内容总结
2.2 学习感悟与体会
本周主要学习了switch语句,在PTA实验代码中,同时复习了for循环语句和if else语句。
switch跟if else运用作用差不多但用法上有较大差别,switch可以放一个整型变量或整形常量或字符,它后面主要接case做条件,每一句case后一般要加break结尾。