C语言I博客作业07
问题 | 答案 |
---|---|
这个作业属于哪个课程 | c语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9933 |
我在这个课程的目标是 | 熟练使用C语言 |
这个作业在那个具体方面帮助我实现目标 | pta习题 |
参考文献 |
1.PTA实验作业
1.1本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
1.1.1数据处理
*数据表达:x[],N,i,a,b,c,d,e;八个变量全为整型;分别为每个学生的成绩,学生人数,数组下标,各个等级的人数A-E。
*结构有选择结构和循环结构。
1.1.2数据截图
1.1.3数据测试
输入数据 | 输出数据 | 说明 |
---|---|---|
7 77 54 92 73 60 65 69 | 1 0 2 3 1 | 题目要求 |
0 | 0 0 0 0 0 | 零 |
3 100 100 100 | 3 0 0 0 0 | 全部满分 |
1.1.4提交列表及说明
- 部分正确1:第一次在dev上完成时,用了不太熟练的数组来定义变量,将数组定义为x[N],在其上运行完毕后在PTA上显示部分正确,于是返回dev进行多组数据测试,发现当输入五人及以上时,成绩无法输入两位数,否则程序将直接结束
如图:
四人可运行成功
五人及以上无法运行
五人及以上成绩全部为一位数时可以运行。
我怀疑是和变量占用的内存有关的问题,在查阅相关资料无果后,我选择向学长求助,他提示我将x[i]改为x[5],我意识到可能与开辟的内存有关,改完之后dev上可以运行5个人数的结果了,但是6以上又无法运行,于是我将x[5]又改为了x[100]。 - 部分正确2:改成x[100]提交后,还是显示部分正确,只是正确的答案多了一个,我知道肯定是因为PTA测试的范围不只100,将其改为1000后答案正确。
1.2给定 N 个正整数,要求你从中得到下列三种计算结果:
A1 = 能被 3 整除的最大整数
A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)
1.2.1数据处理
- 数据表达:x,i,b,f,t,tt,ttt,c,cc,ccc十个变量其中tt,ttt为双精度浮点型,其余为整型,分别为变量个数,进行循环计算的次数,整数,接受最大值的变量,A2的值,A3的总值,符合A3的个数,A1是否存在的标志,A2是否存在的标志,A3是否存在的标志。
- 运用了选择结构,循环结构。
1.2.2实验代码截图
1.2.3数据测试
输入数据 | 输出数据 | 说明 |
---|---|---|
8 5 8 7 6 9 1 3 10 | 9 3 6.5 | 题目要求 |
5 1 1 1 1 1 | NONE 5 NONE | A1,A3没有 |
5 0 0 0 0 0 | 0 NONE NONE | A2,A3没有 |
5 5 5 5 5 5 | NONE NONE 5.0 | A1,A2没有 |
1.2.4 提交列表及说明
- 答案错误:判断A1时使用了整除而不是取余。
- 部分正确:未给c,cc,ccc三个标志赋初始值。
2.代码互评
- 同学(万仕康)的代码
- 我的代码
- 没有弄清楚老师的要求,以为必须全部使用switch case语句,很明显在某些选择条件时if-else更加简洁明了,例如范围条件,多种条件并列和或,而switch在面对式子或者变量的多种结果时更加好用,两者各有适用的范围。
3.学习总结
3.1学习阶段
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
| - | - | - |
| 10/7-10/14 | 7个小时 | 130 | 选择结构的使用,变量类型的区别及使用 | 为啥老师要让我们看看不懂的代码 |
| 10/15-10月17 | 6小时 | 75 | dev c++的调试,各种运算符的起源及优先级,for循环语句的使用 | <=符号的类别及优先级;前++和后++的区别 |
| 10/18-10月26日 | 12小时 | 90 | 自定义函数的声明和调用 | for循环和while循环各自的利弊 |
| 10月27-11月1日 | 8小时 | 150 | ascll码的作用,switch case简单用法, 数组元素的简单使用,字符的输出与输入 |
| 11月2-11月8日 | 9小时 | 117 | 数组元素的进一步了解 |
3.2累计代码行的博客字数
3.3学习内容总结和感悟
3.3.1学习内容总结
*思维导图
3.3.2 学习体会
- 这周忙着学英语线性代数去了,到了写博客园总结的时候才发现c语言几乎被搁置了,较上周并无明显提升,也没有学习到比较新的内容,看来每周的学习总结还是非常有必要的,下周要调整学习计划,多花费一些时间在c语言上。