C语言博客作业03--函数

1.本章学习总结

1.1 思维导图

1.2 本章学习体会及代码量学习体会

1.2.1 学习体会

通过本章的学习,我不再是只是把所有的语句全部杂糅在一起,形成一个大的程序,这样子如果中间出了问题,要进行改动非常的困难,需要很多的调试以及检查,所以函数的学习,让每一块的功能和作用都能够分开来,进行每一步功能的实现和封装,然后在返回到主函数中,进行所有的运算总和,这样自的话调整程序更加方便,找出错误只需要在每个函数中分别进行调试和运行,就能够知到哪里出了问题,减少了很大的工作量。对于我来说,函数的定义和执行方面是我的不足之处,主函数main中很多时候不能把各个函数都安插在改用的地方,每个函数的命名一直是困扰我的一个问题,函数结束之后的返回值这块我也存在疑惑,函数变量的定义及运行有的时候不能够很好的读懂,在接下来的学习中,我希望自己能够好好的钻研课本,能够把这些疑惑好好的解决掉。

1.2.2 代码累计

2.PTA总分

2.1截图PTA中函数题目集的排名得分

2.2 我的总分:

3.PTA实验作业

3.1 PTA题目1

6-8 使用函数验证哥德巴赫猜想 (20 分)
本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。

3.1.1 算法分析

3.1.2 代码截图


3.1.3 测试数据

3.1.4 PTA提交列表及说明


·Q1:前两次错误都是把主函数加了进去
·A1:去除了主函数
·Q2:后面的三次错误都是在最后一个测试点,第一个函数中的判断出现错误
·A2:把判断中的p%k0改成count0&&p!=1

4.大作业

4.1.函数关系图

4.2.函数功能介绍

1.函数1(#include<time.h>)




时间函数产生随机数作为题目的生成

2.函数2(void Degree1())


一级运算的函数

2.函数2(void Degree2())


二级运算的函数

3.函数3(void Degree3())


三级运算的函数

4.函数4(void RightMessage())


当输入正确时,函数运行,输出语句

5.函数5(void WrongMessage())


当输入错误时,给出鼓励的话语,并且给出正确答案

4.3 运行结果截图

4.4 调试碰到问题及解决办法

·Q1:首先在写程序的时候,第一个遇到的问题就是函数的定义问题,刚开始的时候只定义了三个级别函数
·A1:后面增加了三个函数,尤其是增加了时间函数
·Q2:第二次失败的时候,级别函数中出现错误,无法使下面的对错函数发挥作用
·A2:把判断正确或者错误的函数加进了等级函数中去
·Q3:第三个问题就是当答案出现错误的时候,无法将正确答案显示出来
·A3:增加了result变量,并且增加了printf语句
·Q4:第四个问题在于无法在程序中判断是否结束
·A4:解决方法是直接询问希望的答题数目,取代在答题过程中的判断是否跳出程序
·Q5:一级和二级的函数均有瑕疵之处,比如除数为零和正确答案为零
·A5:对每个函数进行小的改动,是每个问题能够的到解决

4.5 大作业总结

写这个大作业花了比其他作业多很多的时间,主要是代码量大,调试起来比较麻烦,刚开始的时候也是一点头绪都没有,一开始是打算只用三个函数解决问题的,比如判断正误,生成随机数等都在主函数里解决的,但是发现根本解决不了,所以列出了清单,把每个改用到的函数都写在了纸上。第一个增加的是生成随机数的函数,本来这个函数是单独封装的,但是考虑到最后把函数调用到其他函数中去比较麻烦,毕竟三个等级的函数需要的数都不同,所以就直接把它放在三个等级函数中去了。接下来增加的是判断正确或者错误的函数,在调用这两个函数的时候,一开始没有在错误的情况中加入正确值的输出,后来改正了。通过这次的作业,自己的程序还是有缺陷的地方,希望自己能够完善作业,能够减少错误的产生。

posted @ 2018-11-11 16:02  林炜  阅读(336)  评论(0编辑  收藏  举报