一.作业头
| 这个作业属于哪个课程 | 2020计科3班 |
|---|---|
| 这个作业要求在哪里 | 作业09 |
| 这个作业的目标 | 学会使用自定义函数,明白自定义函数之间的区别,明白全局变量与局部变量之间的区别 |
| 学号 | 20209032 |
二.本周作业
1.PTA实验作业(20分/题)

1.1 统计某类完全平方数 (20分)

1.1.1 数据处理
数据表达:用到了N,prescribing, power,digit, dacade, hundred,thousand总共7个变量;N是由主函数中的值直接赋值到N,再在主函数的循环体中随着i的改变逐渐改变,prescribing,power,thousand是由计算式直接计算赋值;这7个变量都是整型。
数据处理:用到了有参数有返回值的用户自定义函数;if的嵌套的分支结构。
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 0 99 | cnt = 0 | 从一位数到两位数中间应该都为0 |
| -121 121 | cnt = 2 | 负数的相同的不可以计算,就只能计入从100到121的哪一类 |
| 121 4999 | cnt = 27 | 从三位数跨越到四位数的统计 |
1.1.4 PTA提交列表及说明

1、部分正确:一开始在对于0~100之间的数要返回0,这个判断丢失,导致结果总是比预期的要大。一直在尝试,然后去问了一些人,才知道改变一个条件就可以了。
2、编译错误:没有加分号。
1.2解一元二次方程 (10分)

1.2.1 数据处理
数据表达:用到了a, b, c, discriminant, root,root1, root2,shibu, xubu总共9个变量;a,b,c由scanf输入变量的值,discriminant, root,root1, root2,shibu, xubu都是在后面的不同条件下处理不同的运算;九个变量都是双精度浮点型;
数据处理:数学函数;if的分支结构。
1.2.2 实验代码截图



1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| -0.2 0.04 -0.04 | x1 = 0.1-0.4i, x2 = 0.1-0.4i | 当为共轨的时候,结果的正确性 |
| 4 0 0.27 | x1 = 0+0.3i, x2 = 0-0.3i | 实部为0的情况 |
| 0 0 0 | 无穷多解 | 三个都是0的情况 |
1.2.4 PTA提交列表及说明

1、答案错误:最开始是在关于误差的取值,导致两个数的值差距不大,但是输出两个不同的值,在加入一个条件时,结果才会正确。之后一直在解决关于虚部的事情。
2、编译错误:依旧是一个从vs中scanf得问题。
2.代码互评(5分)
2.1 同学代码截图


2.2 自己代码截图

2.3 区别
1.同学一的代码是用了数组的知识,只能简单理解,还是看不懂的,这样写代码,会十分简单。但是在这个同学上,还是没注意代码的美观。
2.我的与同学二,一个是if的嵌套,一个是在if中加入很多条件。在时间上。他的会计较节省,是一种不错的选择,值得学习,但是条件过多,还是一个较麻烦的事情。
3.学习总结(15分)
3.1 学习进度条(5分)
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 6 10.8~10.11 | 2h | 51 | 打印“ hello world” | 无 |
| 7 10.12~10.18 | 8h | 70 | 各个符号代表的是什么的基础知识 | 还有许多符号分辨不清 |
| 8 10.19~10.25 | 10h | 93 | 数学函数的调用 | 对于大佬前面的哪些头文件的调用类型看不懂 |
| 9 10.26~11.1 | 10h | 154 | if-else语句 | 无 |
| 10 11.2~11.6 | 10h | 348 | for语句 | 较为复杂的循环还搞不清循环几次,循环内容 |
| 11 11.2~11.13 | 8h | 360 | 用户自定义函数的使用,理解与明白函数的定义与调用的区别 | 自定义函数中如果变量与主函数的变量相同,为什么计算机会分清这两个变量是谁?想不清楚为什么会自己跳动到相应的地点再进行运算,是有什么相应的规则让他自己跳动吗? |
| 12 11.14~11.20 | 15h | 470 | if的嵌套语句,关于char在使用中的事项 | 关于《C Primer Plus》中有些关于3.4.8的有些概念性的问题较为模糊 |
| 13 11.21~11.27 | 20h | 593 | 如何简化在switch中有条件的语句,在if与switch都存在时,代码就会看上去就会很多,什么语句可以简化这种呢 | |
| 14 11.28~12.4 | 20h | 465 | 在条件的选择,以及在循环体中,如何较好的方法去简化代码 | 对于题目所给条件的判断还不是很明确 |
| 15 12.5~12.11 | 24h | 1052 | 在for循环的镶嵌语句上,知道如何简化自己的代码,知道怎样更加清晰的画流程结构 | 对于for循环的镶嵌还不是太熟练 |
| 16 12.12~12.19 | 26h | 1102 | 在理解题目上还是有点问题,不太能够较为清晰的画出思维导图 |
3.2 累积代码行和博客字数(5分)

3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结

3.3.2 学习体会
- 学的东西越多,就会发现,你的代码可以用其他的方法特别简单的写出,但是对于自己的思维能力越来越麻烦。
- 还需要加强自己的流程结构的思维能力