C语言I博客作业09
| 这个作业属于哪个课程 | c语言程序设计 |
|---|---|
| 这个作业要求在哪里 | 作业要求 |
| 这个作业的目标 | 掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型。 |
| 学号 | <20208998> |
一、PTA实验作业。(20分/题)

1.1 题目名1:统计各位数字之和是5的数。
题目描述:

1.1.1数据处理。
数据表达:用了a,b,c,e,count,sum,i,d,number这些变量;a,b通过用户输入得来; 这些都是都是整型变量。
数据处理:表达式有c=a%10,a=a/10,e=e+c,c=b%10,b=b/10,sum=sum+d;运用了函数的调用,定义,申明。
1.1.2实验代码截图。


1.1.3 造测试数据。
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 104 999 | 104 is counted./ count = 15, sum = 3720 | 104是满足条件的数,这区间有15个数满足条件,和为3720 |
| 14 100 | 14 is counted./count=5,sum=160 | 14是满足条件的数,这区间有5个数满足条件,和为160 |
| 1 16 | count=2,sum=19 | 俩个都不是满足条件的数,这区间有2个数满足条件,和为19 |
1.1.4 PTA提交列表及说明。

格式错误:一开始在dev上总是跳不到调用的第二个函数,后面重新将第二个函数代码单独做个程序,检查到了错误,格式错误是我的答案与题目的不一致。
1.2 题目2:解一元二次方程。
题目描述:![]()
1.2.1 数据处理。
数据表达:用了x,x1,x2,a,b,c,h,f,g这些变量;a,b,c通过用户赋值得来,f,h分别表示了某个公式,这些都是浮点型变量;
数据处理:用了x=-1*c/b,x1=(-1*b+sqrt(b*b-4*a*c))/(2*a),x2=(-1*b-sqrt(b*b-4*a*c))/(2*a),f=-1*b/(2*a),
h=sqrt(-1*(b*b-4*a*c))/(2*a);运用了分支结构。
1.2.2 实验代码截图。


1.2.3 造测试数据。
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 0 4.5 -3.6 | x=0.8 | 唯一解为0.8 |
| 0 2.8 0 | x=0 | 唯一解为0 |
| 0 0 3.6 | 无解 | 该方程无解 |
| 0 0 0 | 无穷多解 | 该方程无穷多解 |
| -2 0.8 -0.06 | x1 = 0.1, x2 = 0.3 | 该方程有两个根,一个为0.1,一个为0.3 |
| 1 -0.4 0.04 | x1 = x2 = 0.2 | 该方程有两个相同根为0.2 |
| 0.3 0 0 | x1 = x2 = 0 | 该方程有两个相同根为0 |
| -0.2 0.04 -0.01 | x1 = 0.1-0.2i, x2 = 0.1+0.2i | 该方程有两个虚根,分别是x1 = 0.1-0.2i, x2 = 0.1+0.2i |
| 3 0 0.27 | x1 = 0+0.3i, x2 = 0-0.3i | 该方程有两个虚根,分别是x1 = 0+0.3i, x2 = 0-0.3i |
1.2.4 PTA提交列表及说明。

部分正确:没有考虑到有误差的问题,一开始dev上调试的时候,原本等于零的硬是跳到大于零的条件中,我还以为有bug,后向同学请教才知道还有误差存在。
二、代码互评。(5分)
同学代码:


自己代码:


相比较我的缺点:又是上次那样,一比较,我的代码老长了,我还是用两张图贴上来的,总是会把某些不需要的也给带上来,
可能我的思绪就有点缠绵吧,一串串的。
其优点:两个同学第一个函数都是将接收的两个数用一个式子来展开,而我是分开的,因为我感觉结合写不太会,所以就分开了,
两个同学在第二个函数都调用了第一个函数,我以为是不可以的,所以没有用,就又打了一遍,代码就又变长了。
三、学习总结。(15分)
3.1 学习进度条。(5分)
| 周/日期 | 这周所花的时间 | 学到的知识 | 目前不懂的问题 |
|---|---|---|---|
| 第八周 | 7h | 总结各类符号,语句,表达式,变量等 | 语句符号会混用 |
| 第九周 | 9h | 分支结构雏形 | 会漏掉输出语句 |
| 第十周 | 9h | 循环结构雏形 | 表达式不太会写 |
| 第十一周 | 8h | 调用函数 | 不知道怎么去调用函数 |
| 第十二周 | 13h | 分支结构,字符型数字类型,逻辑运算符 | 多分支时不知如何分 |
| 第十三周 | 8h | switch语句 | 不知道怎样区分switch语句与if-else语句 |
| 第十四周 | 14h | while语句 | 有时候用while循环与经常会出现运行超时的情况,并且也不太会改 |
| 第十五周 | 20h | break,continue语句,循环嵌套 | break与continue具体区分 |
| 第十六周 | 22h | 函数的调用,定义,申明 | 函数的调用还有些不懂的地方,关于函数里还能不能调用函数的 |
3.2 累积代码行和博客字数。(5分)

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

3.3.2 学习体会。
1.本周学习了函数,在以前的课程有初步了解到函数,但却一点也不懂得具体的内容以及含义,比如调用是怎么调用,申明又得注意一些什么,定义又该怎么去调用,这些都是以前所未了解到的,这周学习了函数,知道了很多,但肯定是还有更多未知的,是需要自己去慢慢了解琢磨的。
2.这周的函数题,初次实践,真正意义上独自写,刚开始,甚至有些未知,不知道它这个程序是怎么进行下去的,翻书了解,调用函数后会有一个参数的传递,实参传给形参,一开始不懂这些题就很麻烦,感觉没啥思路,了解到这后,中间卡住的部分就顺了,也有进行下去的思路了。
3.这次的PTA函数作业作业让我知道自己的不懂之处,写函数第二题后,与同学代码互评的时候,我看到他们的代码明显就短了很多,而我自己的就老长一段,看到他们的代码后,我发现了我本身的问题,有些可以共用一些式子的程序我不是特别懂,不知道如何将其共用,还有就是被调函数中还可以调用函数,这一开始我以为不行,但看到同学的代码有这个时,我才知道原来被调函数中还可以调用函数,调用可以嵌套,但定义不可以。
4.代码互评是个很好的题目,拿出自己的代码与同学的相比较,会明显发现自己的缺点和不足,也可以很好的学的自己不总的知识点 ,以及一些可以省略的部分。
5.在本次的编程题中解一元二次方程的题中,一开始不知道那个共轭虚根时怎么回事,但查一下公式就知道了,但这其中我的思路就很杂,花了好久时间在那个i上,才搞对,做任何题真的很需要耐心,没有耐心做任何事,任何题都不会成功了。
6.在函数这章节中,自己还有很多不懂的地方,只有靠自己的慢慢去学习,积累,知识是永没有止境的,只有不断的学习,没有截至的可能。


浙公网安备 33010602011771号