作业头
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11637 |
这个作业的目标 | 懂得全部变量和局部变量的区别,学会使用函数类型的强制转换 |
学号 | 20209056 |
1.1 6-2 统计各位数字之和是5的数 (20分)
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.1.1数据处理。
数据表达: 定义了num,number,s三个形参;a,b,count,sum,i五个实参。
数据处理: 形参部分运用了一个while循环加上if语句,判断给定正整数的各位数字之和是否等于5,主函数部分用了一个for循环统计给定区间内有多少个满足上述要求的整数
1.1.2实验代码截图
####1.1.3 造测试数据####
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | count = 15, sum = 3720 | 实验数据测试 |
100 99999 | count = 120, sum = 1399821 | 大数据测试 |
1 10 | count = 1, sum = 5 | 小数据测试 |
-100 3 | count = 0, sum = 0 | 负数数据测试 |
1.1.4 PTA提交列表及说明
提交列表说明:第一次按照自己的思路去写的,我觉得我的思路没有一点问题,但是结果却是全部错误,我只好去问了室友,然后室友把他的代码发给我了,但是我有点看不懂他的思路,我有按照自己的思路去做了两遍,但是还是错了,最后不耐烦地退掉了。
1.2 7-1 解一元二次方程 (10分)
1.2.1 数据处理
数据表达: 定义了a,b,c,x,x1,x2,z,m,n;九个浮点型变量。
数据处理: 表达式:【"x = %g",fabs(-c/b)】【z=bb-4ac;】【x1=((-b)+sqrt(z))/(2a);x2=((-b)-sqrt(z))/(2a);】【n=fabs(sqrt(4ac-bb)/(2*a));】;先运用了四个连续的if语句判断a,b,c不同情况下的结果,在判断到三个变量都不为零的情况下,使用了if-else语句判断z>0.0005,-0.0005<z<0.0005,z<0.0005三种情况的判断。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
0 4.5 -3.6 | x = 0.8 | a=0 的情况判断 |
0 2.8 0 | x = 0 | a=0 c=0 的情况判断 |
0 0 3.6 | 无解 | a=0 b=0 的情况判断 |
0 0 0 | 无穷多解 | a=0 b=0 c=0 的情况判断 |
-2 0.8 -0.06 | x1 = 0.1, x2 = 0.3 | 有两个不相等的解的情况判断 |
-1 0.2 0 | x1 = 0, x2 = 0.2 | 有两个不相等的解,其中一个解为零的情况判断 |
1 -0.4 0.04 | x1 = x2 = 0.2 | 有两个相等解的判断 |
0.3 0 0 | x1 = x2 = 0 | 有两个相等解且为零的情况判断 |
-0.2 0.04 -0.01 | x1 = 0.1-0.2i, x2 = 0.1+0.2i | 有两个共轭虚根的情况判断 |
3 0 0.27 | x1 = 0+0.3i, x2 = 0-0.3i | 有两个共轭虚根且其中实部为零的情况判断 |
1.2.4 PTA提交列表及说明
说明:一开始按照自己编写代码的习惯,定义浮点型变量之后输出的结果是"%.1f"就导致值只得了三分,经过看室友的代码后才知道有些地方要输出正数却会输出负数所以输出结构为 %g,fabs(n) ,改过来后就得了五分,但是后面a!=0的情况还是有很多错误,仔细观察代码后,我才发现,原来一开始的判断语句出现了错误,最后将(a!=0,b!=0,c!=0)的判断语句改为了(a!=0),得到了七分。最后这三分是我做头痛的三分,掉了我很多头发,最终还是在室友周款的提醒下才知道,
2.代码互评(5分)
同学代码截图
同学1的代码:
同学2的代码:
自己代码截图
对比:
1, 第一位同学从他编写的代码中就可以看出这位同学的基础非常扎实,一般情况下运用数组后将数据储存之后直接就是p[i]==2,来判断时候满足条件,而这位同学很灵性地用了一个for循环其中用p[i]>1来判断条件时候满足。
2, 第二位同学就是我所说的比较寻常的代码了,而且他的代码写后面了有一个n=n/10;让人表较难在第一时间读懂他的代码。
3, 我自己的代码没有运用数组,应为我知道自己后面的知识没学好,所以用了一个变量类型的强制转换,然后用if语句判断是否满足条件。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/12——10/18 | 15h | 157 | 简单的模仿书本敲打代码 | |
10/19——10/26 | 28h | 481 | 学到了if语句并能初步理解代码的意思 | |
10/27——11/8 | 34h | 832 | 学完了循环的大部分,能够看懂已经学过地代码和他地作用 | 无法熟练的运用各种语句,使用嵌套地语句十分困难 |
11/9——11/15 | 13h | 341 | 学会了简单地自定义函数,并学会了如何制作知识树 | 思维方式太过死板,编写的程序复杂难懂 |
11/16——11/22 | 14h | 257 | 学会了循环的嵌套 | 循环的嵌套和数组的是哟个有点麻烦,主要是没有时间静下心去仔细学习 |
11/23——11/29 | 12h | 189 | 慢慢地在学会运用数组 | 数组的使用有点麻烦,再就是语句的使用有时候真的不知道为什么会直接跳过,只能通过调试一步步改过来,挺麻烦的 |
11/30——12/7 | 10h | 236 | 学完了所有的循环语句 | while语句的嘘唏我没什么问题,但是do-while的使用我还是有一点模糊,不是很清楚while和do-while的主要区别在那个地方。 |
12/8——12/14 | 16h | 389 | 这个星期感觉自己基本上啥也没学到 | 基础知识掌握不牢,之前也一直没有静下心去学习,这个问题完全在这个星期的作业中凸显出来了。 |
12/15——12/20 | 13h | 394 | 学会了局部变量和全部变量的区别,变量类型的强制转换 | 迷茫,现在感觉自己哪哪都是毛病,而且还感觉自己没有时间去补救了 |
3.2 累积代码行和博客字数(5分)
时间 | 博客字数 | 代码行数 |
---|---|---|
第一周 | 598 | 157 |
第二周 | 620 | 481 |
第三周 | 1174 | 832 |
第四周 | 1425 | 357 |
第五周 | 1545 | 257 |
第六周 | 1865 | 189 |
第七周 | 1740 | 236 |
第八周 | 1903 | 389 |
第九周 | 2319 | 394 |
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
这个星期我感觉我自己人都快没了,学习上的问题一大堆,线代,高数,英语,计导基本上就和没学过一样。哎,头痛,唯一感觉自己学了点的c预压还是吃的开学时学的那一个月的老本,后面老师讲的数组,函数自定义,以及一些语句的运用基本上都不了解,我也不知道要从哪里开始学起,但是军拓的事儿周年还没搞完,我都开始自暴自弃了,每次一看到书,想到自己还有一大堆的问题没搞懂我就不想读了,只要有时间一般都是在睡觉或者打游戏,哎,真的是头痛。我一直在想。我来学校是来学习的,搞了军拓之后我就感觉自己没学习过了,军拓的事没搞好,自己的学习也没搞好,说实话,我想退军拓了。