函数
一、PTA实验作业
7-36
圆形体体积计算器
1、本题PTA提交列表
2、设计思路
在主函数中,因为有3种不同的指令,需要利用循环,循环条件1使循环恒成立,按题目要求先输出 1-Ball
2-Cylinder
3-Cone
other-Exit
Please enter your command:
然后输入指令n(1/2/3),再利用分支判断执行哪一指令,然后进行相应的体积计算。
当输入为1时,在计算球体体积之前,打印Please enter the radius:
,然后读入球体半径,跳转到子函数计算出具体体积数值,而后返回主函数输出体积。2和3与1同理
。
3、本题调试过程碰到问题及PTA提交列表情况说明
(1)错误点 答案错误
①编辑有误,所以结果与simple不等价
②每一个分支没有输出,所以计算2,没有结果
③循环中每一个分支的输入是独立的,此时没有实现循环内部单独输入,所以无法反复调用3种计算
解决方法:
将第10行的n放入19行后,实现每次计算前要输出要求界面;
在每一个分支中,第一行添加输入,实现每个分支下体积的独立计算和可以反复调用3种计算,分支中的最后一行添加输出,实现输出每个不同体积的计算结果;
第一次调试结果:
(1)错误点:运行超时
调整了输入,输出后,分支判断条件有误,n=1表示赋值
解决方法:将n-1改为n==1,实现判断
第二次调试结果:
(1)错误点:答案错误
子函数体积计算中π的值精度不够
解决方法:改变π的精度,尽量精确到小数点后8位以上
最终调试正确结果:
7-41
判断数字字符
1、本题PTA提交列表
2、设计思路
输入一个字符,进入子函数判断,如果这个数字在0到9之间,向主函数返回1,输出“YES”;否则,向主函数返回0,"NO";
3、本题调试过程碰到问题及PTA提交列表情况说明
(1)错误点:非零返回
主函数和子函数位置反了,一般在主函数中输入输出
解决方法:在主函数中输入,输出
最后调试成功结果
7-3
求幂之和
本题要求编写程序,计算sum=2^1+2^2+2^3+⋯+2^n。可以调用pow函数求幂。
1、本题PTA提交列表
2、设计思路
在主函数中输入n,子函数中利用循环从1开始,计算 sum,直到不满足i<=n跳出循环,回到主函数输出结果
3、本题调试过程碰到问题及PTA提交列表情况说明
第一次调试:
(1)错误点:编译错误
第3行,函数声明忘记添加分号,导致编译错误
解决方法:在第3行后,添加“;”
第8行,输出中少打了一个空格
解决方法:输出该为 "result = % .0lf",fact(n)
最终调试结果
二、同学代码结对互评
陈冰艳的代码
我的代码
不同点:
陈冰艳同学只用一个循环,前两项单独计算了,每一项她采用的是a*1.0/b计算,在输出中数据直接用和乘以2
我的代码用了嵌套循环,计算全部的式子,每一项我用的是a/b*1.0,我定义了一个新变量,单独一行列出了结果,然后输出这个变量
我更喜欢陈冰艳的代码,一个循环比较好理解,我的嵌套循环思路更复杂一些。
三、截图本周题目集的PTA最后排名
四、本周学习总结
1.你学会了什么?
①使用主函数和子函数的方法写代码,将反复利用的代码封装,可以使代码更加简洁,缩短程序的运行时间。
②主函数前需要函数声明,函数声明——函数调用——函数定义,主函数调用子函数,将实际参数单向传递给子函数的形式参数。
③return 语句的作用:结束函数的运行;带着运算结果呢返回主函数
return 只能返回一个值
2、本周的内容,你还不会什么?
①全局变量和局部变量的使用还不够熟悉
②还不明白核实子函数需要向主函数返回值,何时不需要返回值
③静态变量的概念未完全理解
④PTA 7-7 \7-9