C语言I博客作业09

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 作业要求
我在这个课程的目标是 熟练使用C语言
这个作业在那个具体方面帮助我实现目标 对本周的学习内容理解更深,总结反思这周学习感受
参考文献 《C语言程序设计》
学号 20209017

1.PTA实验作业

1.1 题目名1:水仙花数

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=本题要求编写程序,计算所有N位水仙花数。
输入格式:输入在一行中给出一个正整数N(3≤N≤7)。
输出格式:按递增顺序输出所有N位水仙花数,每个数字占一行。
输入样例:3
输出样例:
153
370
371
407

1.1.1数据处理

数据表达:用了b,c,num, n,d,a,y,x变量,这些变量的值是定义赋值来的,类型是整型与双精度浮点型。
数据处理:数据用到数学表达式、条件表达式。    流程结构用到循环结构(while)与选择结构(if-else)。

1.1.2实验代码截图

1.1.3 造测试数据

测试用例 运行结果 说明
3 sample同例
7 极端值
2 运行结束 超出极端值

1.1.4 PTA提交列表及说明

提交列表说明:
1.答案错误:只有运行测试时3结果才是对的。
  解决办法:发现在各位数的几位数幂的地方写的3,将3改为n。
2.部分正确:运行超时,数字7运行不出来。
  解决办法:在网上找解决方法,网上说可以将7单独拎出来,如果数的位数为7则直接输出。

1.2 题目2:解一元二次方程组

请编写程序,解一元一次方程
一元二次方程的求根公式为:
要求:
若 a=0,则为一元一次方程。
若 b≠0,则方程有唯一解,输出这个解;
若 b=0,c≠0,则方程无解,输出“无解”;
若 b=0,c=0,则方程有无穷多解,输出“无穷多解”。
若 a≠0,则为一元二次方程。
若 Δ>0,则方程有两个不等的实根,输出这两个根;
若 Δ=0,则方程有两个相等的实根,输出这两个根;
若 Δ<0,则方程有两个共轭的虚根,输出这两个根。
输入格式:a,b,c
输出格式:x 或 x1,x2
注:所有实数均以格式限定符 %g 输出。
输入样例1:0 4.5 -3.6
输出样例1:x = 0.8
输入样例2:0 2.8 0
输出样例2:x = 0
输入样例3:0 0 3.6
输出样例3:无解
输入样例4:0 0 0
输出样例4:无穷多解
输入样例5:-2 0.8 -0.06
输出样例5:x1 = 0.1, x2 = 0.3
输入样例6:-1 0.2 0
输出样例6:x1 = 0, x2 = 0.2
输入样例7:1 -0.4 0.04
输出样例7:x1 = x2 = 0.2
输入样例8:0.3 0 0
输出样例8:x1 = x2 = 0
输入样例9:-0.2 0.04 -0.01
输出样例9:x1 = 0.1-0.2i, x2 = 0.1+0.2i
输入样例10:3 0 0.27
输出样例10:x1 = 0+0.3i, x2 = 0-0.3i
提示:注意实数的负零问题和误差问题。

1.2.1 数据处理

数据表达:用了a,b,c,x1,x2,value,d,e,e2变量,此变量的值是定义计算赋值来的,类型是双精度浮点型。
数据处理:数据用到条件表达式与数学表达式。    流程结构用到选择结构(if-else)。

1.2.2 实验代码截图


1.2.3 造测试数据

测试用例 运行结果 说明
0 4.5 -3.6 x = 0.8 a=0,b≠0,c≠0
0 2.8 0 x = 0 a=0,b≠0,c=0
0 0 3.6 无解 a=0,b=0,c≠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 有两个不等实数根,且有一个根为0
1 -0.4 0.04 x1 = x2 = 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 两个共轭的虚根
3 0 0.27 x1 = 0+0.3i, x2 = 0-0.3i 两个共轭的虚根,实部为零

1.2.4 PTA提交列表及说明


提交列表说明:
1.答案错误:无穷多解与无解的顺序反了。
解决方法:重新看题干,发现错误,将顺序改了。
2.部分正确:提交后多多个错误。
解决方法:根据提交后的错误,一个一个的改每个分支里的代码。
3.部分正确:两个实数根的分支错误,调试后value的值应该为0,但等于2点多。
解决方法:将value等于0的情况与value大于0的情况放在一起。

2.代码互评:一元二次方程

请编写程序,解一元一次方程
一元二次方程的求根公式为:
要求:
若 a=0,则为一元一次方程。
若 b≠0,则方程有唯一解,输出这个解;
若 b=0,c≠0,则方程无解,输出“无解”;
若 b=0,c=0,则方程有无穷多解,输出“无穷多解”。
若 a≠0,则为一元二次方程。
若 Δ>0,则方程有两个不等的实根,输出这两个根;
若 Δ=0,则方程有两个相等的实根,输出这两个根;
若 Δ<0,则方程有两个共轭的虚根,输出这两个根。
输入格式:a,b,c
输出格式:x 或 x1,x2
注:所有实数均以格式限定符 %g 输出。

2.1.1同学1


2.1.2同学2

2.1.3自己


2.1.4不同之处

1.同学对于等于0的数是为避免出现小数就直接令其等于0,最后再直接输出。
2.同学是将大于0与等于0放在一起写的。
3.同学用的是sqrt函数我用的是pow。

3.学习总结

3.1学习进度条

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较困惑的问题
第一周 0天 0行 C语言知识的大纲 目前没有问题
第二周 3天 约20行 Hello world编程Markdown语法 目前没有问题
第三周 5天 约80行 华氏度与摄氏度的转换、调试 对应该如何调试还不太懂
第四周 5天 约90行 if-else语句 PTA作业在scanf语句处有警告,该如何修改
第五周 5天 约125行 for语句 对for语句的使用不够熟练
第六周 5天 104 如何定义函数 对定义函数的操作不过熟练
第七周 5天 184 char数据类型的用法 用char类型不熟练,分不清什么时候要加''
第八周 5天 272 switch语句用法 有部分情况不知怎么用
第九周 4天 251 while语句与do-while语句用法 暂无疑惑
第十周 5天 262 break,continue,多重for循环的应用 对于continue的用法仍不太清楚,多重for循环不够熟练,经常出错。
第十一周 5天 339 函数的分类,变量 对于一些概念还很模糊。

3.2累计代码行和博客字数

时间 博客字数 代码行数
第一周 0 0
第二周 808 20
第三周 808 100
第四周 1426 190
第五周 2968 315
第六周 4144 409
第七周 7053 593
第八周 8814 865
第九周 11037 1116
第十周 13003 1378
第十一周 15463 1717

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

1.对于本周的学习的内容还没有弄得太懂,还需要再去回顾,理解,加深印象。
2.对于上周的PTA作业有些地方并没有弄得太懂那里为什么要这样写,还需要去理解,并对一些题目进行第二次码代码。
3.快要考试了,对于以前的知识点需要回顾。
4.本周还有自己线上学习第六章的任务,要记得学习,不懂的要及时询问。

posted @ 2020-12-21 16:29  彭樱  阅读(185)  评论(1编辑  收藏  举报