C语言I博客作业07
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-1/homework/9931 |
我在这个课程的目标是 | 我希望能开发一种全新的语言程序 |
这个作业在那个具体方面帮助我实现目标 | 熟悉多分支结构switch语句的使用 |
参考文献 | http://c.biancheng.net/view/310.html |
本周作业
1.PTA实验作业
2.代码互评
3.学习总结
作业格式
1.PTA实验作业
1.1计算天数 (15 分)
本题要求编写程序计算某年某月某日是该年中的第几天。
1.1.1数据处理
数据表达:定义整形变量 y,m,d,z;结合使用if语句和switch语句结构。
数据处理:
1:输入年份;
2:判断是闰年还是平年;(区别只在2月是28还是29天!)
3:《先将月份天数叠加列出》switch判断月份,如果是闰年case 3:z=60+d;如果是平年case 3:z=59+d;
(y为年,m为月,d为日,z为总天数);
4:输出总天数z。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2009/03/02 | 61 | 平年 |
2000/03/02 | 62 | 闰年 |
1.1.4 PTA提交列表及说明
问题:求救,实在找不出还有哪里不正确了。
1.2 统计学生成绩 (15 分)
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
1.2.1数据处理
数据表达:定义整形变量i,y,n,A,B,C,D,E;结合使用for循环和switch语句。
数据处理:
1:要求第一行输入人数n,第二行输入对应人数的各个成绩y;
2:i的作用是从第一个成绩跳到下一个成绩,for(i=1;i<=n;i++);
3:应为case只判断一种情况,所以将成绩y/10,减少情况数目,符合则相应的计数符号加一,
(注意y小于60的部分为一种情况用default)。
4:输出各类计数符号的值。
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2/98 87 | 1 1 0 0 0 | 正确 |
5/100 87 77 67 57 | 1 1 1 1 1 | 正确 |
1.2.4 PTA提交列表及说明
问题:不小心将第二个scanf中的y输成了i。
2.代码互评(5分)
同学代码:
我的代码:
不同点:1:他把成绩变量定为0,之后再赋上正确的值;而我并没有先定义其值,觉得多余。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
11.4-11.8 | 约6小时 | 145行 | switch语句的使用 | 有好多题可以使用if语句会简单一点,switch反倒很难想出怎么编译 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
switch语句虽然能简化编译过程,将问题按类型区分判断,但相比别的语句而言,提升了不小的难度。就本次作业而言,
if语句同样也可以直接运用,还比switch容易想到一些,就是麻烦了一些而已。还是要学好switch语句,很多情况下不能灵
活运用。烦恼!!