C语言I博客作业07
这个作业属于哪个课程 | c语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9933 |
我在这个课程的目标是 | 了解、运用并学会自己编辑c语言 |
这个作业在哪个具体方面帮助我实现目标 | 能帮助我更了解c语言,练习c语言 |
参考文献 | 《c语言程序设计》《提问的智慧》 |
1.PTA实验作业
1.1计算天数
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
1.1.1数据处理
数据表达:运用了四个变量y,m,d,t,均为整型变量。
数据处理:流程结构:switch多分支结构与if-else分支结构。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2000/03/02 | 62 | 闰年 |
2009/03/02 | 61 | 非闰年 |
2000/01/23 | 23 | 闰年一月 |
1.1.4 PTA提交列表及说明
提交列表说明:
编译错误:忘记打return 0了。
编译错误:if条件||一边没有空格。
段错误:default写错了。
段错误:不小心把default后面的:删掉了,忘记加上去。
部分正确:没有考虑一月份是0+d。
1.2统计学生成绩
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
1.2.1数据处理
数据表达:运用了七个变量n,s,A,B,C,D,E,均为整型变量。
数据处理:流程结构:switch多分支结构。
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2 0 90 | 1 0 0 0 1 | 有分数段为0 |
2 100 88 | 1 1 0 0 0 | 有分数段100 |
5 99 88 77 66 55 | 1 1 1 1 1 | 各个分数段全有 |
1.2.4 PTA提交列表及说明
提交列表说明:
部分正确:没考虑分数为100分数段。
2.代码互评
同学代码截图
自己代码截图
1)第一份代码先用if-else结构,再用switch结构,且switch语句中嵌套有if-else语句。而第二份代码相反,数值的表达也不尽相同。
2)第一份代码运用了五个整型变量,而第二份代码运用了四个整型变量。
3)从思路上讲,第一份代码先判断闰年,利用year将闰年区分,再利用嵌套if-else语句的switch语句得出闰年超过一月份的天数,思路很巧妙。而第二份代码则先计算出非闰年的天数,然后再用if-else语句算出闰年的天数,相对直接一点。
同学代码截图
自己代码截图
1)这两份代码思路都是一样的:先使用for循环输入成绩,再使用switch分等级。
2)略微不同的是第一份代码计数时用的是a++,而第二份代码则用的是A+=1,其实像结果等于1的情况,用第一个表达式相对容易。
3)第二份代码直接在int中赋值,而第一份列出表达式赋值。
3.学习总结
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
1/16~1/22 | 1h | 42 | 输入,输出文件 | 无 |
2/23~2/29 | 3h | 31 | 使用int定义变量 | 无 |
3/7~3/13 | 6h | 93 | 选择型流程结构,使用double定义变量 | 输出printf,scanf中%后面使用d或者f或者lf分不清 |
4/15~4/18 | 6h | 100 | 循环流程结构 | 段错误的原因 |
5/22~5/26 | 8h | 104 | 调用函数,形参和实参 | while的循环原理 |
6/29~6/22 | 10h | 166 | 字符,ASCⅡ码集,套嵌if-else分支 | for循环边界值 |
7/5~7/8 | 5h | 141 | switch多分支结构 | 无 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
本周我们学习了switch的多分支结构。
switch(表达式){
case 常量表达式1:表达式;break;
...
default:表达式;break;
}
3.3.2 学习体会
本周我们学习的内容还是比较简单的,switch多分支结构上周就接触到了,这周不过是多认识认识,更灵活的使用它。并且,虽然这周作业时间比前几周都要短,但PTA上的题目只有四个,总体也不算太难,最重要的是,因为题目少,做题的感觉都比较轻松,不会因为被什么难住了而烦恼着急,心情一路通畅。
还有一个就是PTA最后一个题目: 整数的分类处理,感觉自己做得好麻烦啊,用完switch多分支结构,又接着用了六个if-else分支结构,导致后来一个出现错误要检查的时候,感觉真是要崩溃。深刻的预感到未来码长代码的艰辛。