纯小白初识函数—主函数调用子函数:

        今天第一次对函数有了认知,虽然理解不深刻,但也明白了主函数与子函数的关系。也对主函数该怎么写,如何对主函数进行逻辑优化有了初步的概念。

        用今天写的一道题,总结一下我对函数调用的认知。

        最开始拿到这道题整个人脑瓜子嗡嗡的,水仙花是啥? 赶忙百度搜索,水仙花数即一个三位数的各个位数的三次方之和等于他本身。水仙花数有153、370、371以及407四个数。

        当了解了水仙花数的定义后,就习惯性的先把代码主体敲出来。当然对调用子函数的写法并不清楚,所以我先采用了纯主函数的形式来写。整体代码如下:

         在这个简单的程序中,我主要采取了if判断语句为主要结构。首先对输入的数‘a’进行范围定义,确保在3位数内,否则就是四叶玫瑰数了。根据水仙花数的定义,要在一个‘a’里拆出百位、十位以及个位的数同时要每一位数的三次方和。我选择了取余和除法。因为定义了a为整数,故首先对a除以100,取百位数。其次对a先%100,获得两位的余数。然后再除以10取得十位数。个位数直接%10即可。获得了三个位的数后,要取3次幂,最开始我才去了数学计算的方法,输出了(a/100)^3、(a%100/10)^3以及(a%10)^3。之后的代码与图中一致,经过编译没有报错便开始了调试,然而问题出现了。如果判断‘a’是否是水仙花数的if嵌套语句如果里边是两个等号,那么无论输入什么都会直接输出正反馈结果,而删一个等号后,直接输出外层if对应的else。在将嵌套if的判断条件进行单独调试并打印输出后,最终确定是(a/100)^3、(a%100/10)^3以及(a%10)^3的运算形式没有生效。好在早上学习了几个数学运算的函数,在最顶部引用了<math.h>文件后便对判断语句进行了修正,最终成功运行。

 

        然而,经过长久的主函数写法调试后。开始着手采取主函数调用子函数的写法。期初我的想法是只给主函数留一个调用语句,将所有的输入和输出全部交由子函数进行。但是很快就被我否定了,首先需要在主函数这有包括表头、输入提示等内容。其次,如果全部交由子函数运行,主函数没有合适的语句表达逻辑,有悖于今天学习的用意。所以在主函数下,我添加了最基础的内容。当然对于子函数来说,有了刚才的纯主函数写法,子函数内的输入和输出语句都没有难度。困难点就在于主函数调用子函数时的对接部分。第一次接触调用的内容,对需要的变量并不清楚,最主要的是对主函数引用时,子函数的形参形式不清楚。其次,本来想在主函数进行结果输出打印,让子函数返回一个值,比较一下有返回值和无返回值的区别。然而,不会写。所以只能采取子函数打印输出的方式。

        最后,总结一下今天对函数调用。首先,并没有太清楚的掌握子函数的内容,例如函数定义的形参什么时候需要加int、float、double等类型,什么时候不加。其次,对参数间的传递链条还不清晰。需要多做题练习。

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值