C语言I博客作业09
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-4 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11637 |
我在这个课程的目标是 | 继续学习了自定义函数相关内容,复习各类语句 |
学号 | 20209068 |
1 PTA实验作业
1.1 统计各位数字之和是5的数
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.1.1 数据处理
- 数据表达:在第一段函数中定义了num,s;第二段函数定义了sum,count,i;全为整型
- 数据处理:while语句中的num=num+number%10等;还有if-else,for循环语句
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | 104 is counted.count = 15, sum = 3720 | 题目示例 |
1 9999 | 1 is counted.count = 56, sum = 77770 | 极限值下的测试 |
555 5555 | 555 is counted.count = 35, sum = 73885 | 常规测试 |
1.1.4 PTA提交列表及说明
提交列表说明
- 错误:在'1'的判断时将return 1写出了判断语句导致错误,其次是第二段代码中在计算整数之和时同样将sum写出了i的判断语句
- 解决:将return 1与sum+=i写入相应语句
1.2 7-3 解一元二次方程
解一元二次方程
请编写程序,解一元一次方程 ax2+bx+c=0 。
一元二次方程的求根公式为:
题图.
要求:
若 a=0,则为一元一次方程。
若 b≠0,则方程有唯一解,输出这个解;
若 b=0,c≠0,则方程无解,输出“无解”;
若 b=0,c=0,则方程有无穷多解,输出“无穷多解”。
若 a≠0,则为一元二次方程。
若 Δ>0,则方程有两个不等的实根,输出这两个根;
若 Δ=0,则方程有两个相等的实根,输出这两个根;
若 Δ<0,则方程有两个共轭的虚根,输出这两个根。
- 数据表达:使用了a,b,c,x,x1,x2,m,n共八个变量,都为双精度浮点数类型,还设置了一个常量EPS,减小误差
- 数据处理:if与else-if的使用,x1=((-b+sqrt(bb-4ac))/(2a))等
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
0 4.5 -3.6 | x = 0.8 | 题目案例 |
0 1.9 0 | x = 0 | 案例二 |
0 0 6.3 | 无解 | 案例三 |
0 0 0 | 无穷多解 | 案例四 |
-2 0.8 -0.06 | x1 = 0.1, x2 = 0.3 | 案例五 |
3 0 0.27 | x1 = 0+0.3i, x2 = 0-0.3i | 案例六 |
1.2.4PTA提交列表及说明
提交列表说明
- 由于double存在误差,我直接使用了零来判别解的情况;其次在确立EPS后,在解相同的情况下将条件写成了等于EPS,显示错误
- 在询问了同学及网上查阅后,添加了EPS=0.0001来代替0,其次是将等于EPS换成了大于小于正负EPS
2 代码互评
- 同学代码截图
- 自己代码截图
- 比较
这位同学的代码使用到了数组,而我则是运用if语句将各种条件列举了出来。总的来说,同学的方法更加简便,而我的代码则是更加容易理解
3.1学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/12——10/18 | 15h | 218 | 大致了解了c语言,运用C语言编写最基本的程序 | 不太了解头文件是什么 |
10/19——10/23 | 17h | 260 | 了解断点的相关操作,并掌握此方法来检查代码 | 有时候会出现无法进入逐一调试功能 |
10/24——11/7 | 50h | 400 | 学会运用for的循环结构,进一步了解各种字符 | 还并不能熟练运用for循环结构 |
11/8——11/14 | 18h | 365 | 了解了函数的定义,以及进一步熟悉了各种函数 | 无 |
11/15——11/23 | 24h | 380 | 继续巩固了函数的定义以及if——else语句,学习了逻辑关系词的运用 | 有时候还不能很好的将题目某些条件用逻辑词很好的转化为代码 |
11/24——11/28 | 12h | 158 | 学习了switch语句,继续练习分支结构相关题目 | 还是逻辑方面存在问题不能很好的将题目意思转化为c语言 |
11/29——12/6 | 28h | 285 | 学习了while的结构,并且继续熟练了相关循环语句的用法,对之前的知识点进行了复习 | 问题还是出在逻辑上,感觉题目越来越难以对付 |
12/7——12/13 | 31h | 341 | 了解了break与continue的区别及其适用语句,熟练各类嵌套模式 | |
12/14——12/19 | 34h | 356 | 继续学习了自定义函数的相关内容,复习之前学过的各类语句 |
3.2累计代码行和博客字数
时间 | 博客字数 | 代码行数 |
---|---|---|
第一周 | 210 | 101 |
第二周 | 565 | 285 |
第三周 | 985 | 365 |
第四章 | 1235 | 452 |
第五周 | 1125 | 398 |
第六周 | 986 | 345 |
第七周 | 1087 | 434 |
第八周 | 1231 | 341 |
第九周 | 1354 | 356 |
3.3学习内容总结与概括
3.3.1学习内容总结
3.3.2学习体会
本周学习
- 课堂上讲了有关自定义函数的相关知识,自主复习了之前学过的相关语句
- 复习了pta的题目,发现还存在问题
感悟 - 自主完成题目能力较差,较为依赖正确答案以及只辅导信息
- 多看看往期的题目,重新自主做一遍,锻炼思维转化