1.1 思维导图
1.2 本章学习体会及代码量学习体会
1.2.1 学习体会
刚刚开始学习函数的时候,由于之前对函数有过一定的了解,所以还算比较顺利, 不过还是经常出现函数定义和调用的错误,这应该是对函数的使用还不够熟练所 造成的,整体来说函数还是顺利的学完了。
1.2.2 代码累计
2.PTA总分
2.1截图PTA中函数题目集的排名得分
2.2我的总分:
我的总分: 145
3.PTA实验作业
3.1 PTA题目1
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
3.1.1 算法分析
定义判断各位之和是否为5的函数 //赋值形参number 定义x,y=0 do x=number%10 // 取个位数 number=number/10 //去掉个位数 y=x+y //计算每一位数的和 while number!=0 if y==5 do return 1; //返回1 else do return 0;定义统计个数的函数 //赋值形参a,b 定义count=0,sum=0 定义i for i=a to i=b if (is(i)) do //调用上面的函数判断i是不是符合要求 count++; //计算符合的个数 sum=sum+i; //计算所有符合的数的和 printf("count = %d, sum = %d",count,sum)
3.1.2 代码截图
3.1.3 测试数据
3.1.4 PTA提交列表及说明
ps:这题我的错误在编译器里就修改了Q1:第一遍多处出现了露分号的问题A1:在无法运行后进行修改Q2:后来在写第二个函数的时候写的太复杂A2:之后尝试了一下调用第一个函数,发现可以调用,使代码变得更加简洁
4.大作业
4.1函数关系图
4.2.函数功能介绍
1.函数1
用来对一级难度题目进行输出,对用户输入的数据合法性进行判断
2.函数2
用来对二级难度题目进行输出,对用户输入的数据合法性进行判断
3.函数3
用来对三级难度题目进行输出,对用户输入的数据合法性进行判断
4.函数4
对一级难度的算式进行计算
5.函数5
对二和三难度的算式进行计算
6.函数6
正确答案和用户输入的进行比较
4.3 运行结果截图
4.4 调试碰到问题及解决办法
遇到了输入错误数据会导致重新崩溃的情况后来发现scanf有返回值,用返回值判断有没有输入,再配上fflush解决了这个问题当时发现y=0的情况就想在switch中把y=0的情况给排除,但这样会没有题目出现却要输入一个答案后来把y=0的情况在difficult1中就排除了
4.5 大作业总结
本次大作业遇到的主要问题就是函数的套用和不合法数据输入的解决问题方面, 通过此次大作业也得到了一些问题的解决方法,对代码的逻辑理解方面有一定的增强