C语言I博客作业07

无人久伴 提交于 2020-01-02 21:49:11
问题 答案
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 作业链接
我在这个课程的目标是 巩固之前所学知识并将知识进一步系统化并掌握switch语句
这个作业在那个具体方面帮助我实现目标 PTA作业和作业要求对问题的解决的详细记录
参考文献 百度文库,教材,知否等

1.PTA实验作业

1.1统计学生成绩

题目内容描述:

本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
输入格式:
输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。 
输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。

1.1.1数据处理

数据表达:变量有n、i、g、A、B、C、D、E。n和g由scanf赋值,i初始定义为1,ABCD定义初始值都为一。
数据处理:我用到了for(;i<=n;i++),switch(g/10)两个表达式。语句有switch语句for语句。
伪代码:

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
7 77 54 92 73 60 65 69 1 0 2 3 1 题中数据
4 95 74 49 84 1 1 0 1 随机数据
5 87 93 83 63 74 1 2 1 1 0 随机数据

1.1.4 PTA提交列表及说明

提交列表说明:
1.编译错误:for语句括号内第一忘记用分号隔开。
2.答案错误:忘记输出ABCD。
3.答案正确:改正即可。

1.2 计算天数

题目内容描述:

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

1.2.1 数据处理

数据表达:变量有i,y,m,d,sum。y,m,d都由scanf赋值。i由for语句累加而得。它们都为整形。
数据处理:我将大月和小月分为两类,用switch语句累加。再将闰年的二月归为一类,用到了if-else语句。
伪代码:

1.2.2 实验代码截图


1.2.3 造测试数据

输入数据 输出数据 说明
2009/03/02 61 题中数据
2019/10/01 274 随机数据
2001/08/21 233 随机数据

1.2.4 PTA提交列表及说明

提交列表说明:
1.编译错误:case后面语句和在一起,偷懒导致错误。
2.编译错误:输出sum时忘记打分号,粗心导致错误。
3.答案正确:改正即可。

2.代码互评

找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

同学代码截图

同学一

同学二

自己代码截图


1.我用的是switch语句和for语句,他多了一个if-else语句,我认为我的代码更加简便。
2.他多定义了一个变量sum。
3.分类方式也不同,他采用数学表达式,我直接拿分数除以十,较之更简洁。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周 2小时 30 最简单代码
第二周 2小时 30 温度转换
第三周 5小时 90 if-else语句 格式和符号的使用
第四周 7小时 100 for循环语句
第五周 8小时 102 自主编写函数 编写函数的一些格式框架仍然有点模糊
第六周 8小时 130 分支结构
第七周 7小时 98 switch语句 拿到题目时仍然不会间接表达变量

3.2 累积代码行和博客字数

3.3.1 学习内容总结

3.3.2 学习体会

写作业的时间减少了,但是题量也减少了,但同时题目的难度也有所增大。这就很考验我们的做题速度和精确度。虽然学了这么久,但是有些时候还是会犯一些低级错误。比如for语句括号里忘记用分号隔开,最基本的printf输出时忘记用引号等等。这些都是我经常犯的错误,还是需要多刷pta来纠正自己。最重要的一点,教材真的要多看,可能会有意想不到的的收获。其次同学的代码也可以多看看,也可以学到一些新的东西。比如这次pta作业的第一题,看了同学的代码后,case后面那条语句如果都一样的话可以在后行一次性写出来,不用写那么多次。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!