C语言I博客作业09
一.作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-4 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11637 |
这个作业的目标 | 掌握学会定义函数,并且对其如何调用,以及变量的作用域和使用周期 |
学号 | 20209364 |
二.本周作业头
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11637 |
我在这个课程的目标是 | 学会如何应用continui结构,并且做出一定的练习,对以学的前构的复习 |
这个作业在那个具体方面帮助我实现目标 | PTA中有关于函数自定义的题目,帮我更好的掌握函数,还有局部变量和全局变量 |
参考文献 | C语言程序设计,百度,知乎 |
三.本周作业
1.pta实验作业
1.1 统计某类完全平方数
题目内容描述:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等
1.1.1实验代码截图
1.1.2数据处理
数据表达:运用了a,b,c,d,r,number整形变量,分别来表示数字各个位上的数字
数据处理:表达式:a=N%10;
b=(N/10)%10;
c=(N/100)%10;
d=(N/1000)%10;
计算各个位上的数字
流程表达:利用if结构
1.1.3 造测试数据
输入数据 | 输出结果 | 说明 |
---|---|---|
105 500 | cnt=6 | 题目要求 |
450 650 | cnt=1 | 随意测试 |
445 625 | cnt=1 | 随意测试 |
1.1.4 pta提交列表及说明
部分正确:第一次编写代码时,最后面的忘记求余了,导致最好的答案只正确了一部分。
编译错误:在改正的时候,总是不经意的点到其他地方,导致最后的分号总是漏掉。
答案正确:最后通过在vs2019上调试,找到错误。
1.2 解一元二次方程
题目内容描述:解一元二次方程
请编写程序,解一元一次方程 ax
2
+bx+c=0 。
一元二次方程的求根公式为:
题图.jpg
要求:
若 a=0,则为一元一次方程。
若 b≠0,则方程有唯一解,输出这个解;
若 b=0,c≠0,则方程无解,输出“无解”;
若 b=0,c=0,则方程有无穷多解,输出“无穷多解”。
若 a≠0,则为一元二次方程。
若 Δ>0,则方程有两个不等的实根,输出这两个根;
若 Δ=0,则方程有两个相等的实根,输出这两个根;
若 Δ<0,则方程有两个共轭的虚根,输出这两个根。
1.2.1实验代码截图
1.1.2数据处理
数据表达:用到了a,b,c,x1,x2,m,n浮点型变量,来表示相关的值
数据处理:表达式:x1=((-b+sqrt(b*b-4*a*c))/(2*a));
x2=((-b-sqrt(b*b-4*a*c))/(2*a));
m=(-b)/(2*a);
n=sqrt(4*a*c-b*b)/(2*a);
结构控制:利用if结构利用逻辑关系来确定x1,x2的值,然后分别讨论a,b,c的值
1.2.3 造测试数据
输入数据 | 输出结果 | 说明 |
---|---|---|
0 0 3.6 | 无解 | 题目要求 |
0 0 0 | 无穷多解 | 题目要求 |
-1 0.2 0 | x1 = 0, x2 = 0.2 | 题目要求 |
1.2.4 pta提交列表及说明
编译错误:第一次写的逻辑关系,不对,利用了大量的if所以里面对{}难免出现点错误。
部分正确:我用了好久写出的代码都是部分正确,里面的一些特殊情况总是考虑不对。
2.代码互评
第一位同学的代码:
第二位同学的代码:
我的代码:
总结:
- 这道题目总体来说是比较难的,写出这道题目也挺费时间的
- 这道题这俩位同学的代码都比我的完善,这道题确实比以前写的要花费的时间多
- 这道题目是我通过知乎,借助他人的,但其中也有自己的一些思路
3.学习总结
3.1学习进度条
日期 | 所花的时间 | 代码行数 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
11/9-11/15 | 16h | 503 | 自定义函数 | 自定义函数的定义的原理,自己不能独立的定义函数 |
11/16-11/22 | 20h | 322 | 分支结构 | 分支的种类,和使用于怎样的结构,if和if-else的区别 |
11/22-11/28 | 18h | 586 | 分支结构中的switch | switch中不带有break的情况的输出 |
11/28-12/6 | 21h | 621 | 循环结构中的while和do-while | do-while的用法还是不太明白 |
12/6-12/14 | 24h | 652 | 嵌套循环 | 对于continui的理解还是不很到位 |
12/14-12/21 | 21h | 687 | 函数结构 | 对于那四种有参无返回值的还是不明白 |
3.2 累积代码行和博客字数(5分)
时间 | 博客字数 | 代码行数 |
---|---|---|
第一周 | 1862 | 564 |
第二周 | 1889 | 355 |
第三周 | 5841 | 256 |
第四周 | 1556 | 503 |
第五周 | 5002 | 322 |
第六周 | 5442 | 586 |
第七周 | 5622 | 621 |
第八周 | 5965 | 652 |
第九周 | 5996 | 687 |
3.3.1 学习内容总结
- 本周我们学习啦函数,全局变量和局部变量,在课上老师老师把一些主要的内容给我讲述了一遍, 这是学好C语言的最基本的东西,在这点上老师的很细心
- 通过这次PTA的作业的完成,我们对函数了解的基本差不多啊啦,并且学习啦变量的作用域和生命周期,这让我们对变量又有啦新的认识, 在这方面我会监督我自己努力 把这部分学好,这关系到我们的前途,所以要认真学习
- 全局变量和局部变量的各有个自己的优点和缺点,老师上课用淘宝这个和我们生活息息相关的软件来给我们讲述这俩个问题
3.3.2 学习体会
- 现在真的感觉过的好快啊,大一上学期的生活快接近尾声,我们现在学的东西真的是越来越多,PTA的作业量也越来越大啦,
PTA的作业难度也挺高了不少,近期我们不仅要学习新的C语言知识,还要对以前的内容复习和巩固,面对即将到来的期末考试,我
们应该留着足够充足的时间来准备考试,来检验一下自己这段时间自己的学习情况