C语言实验函数一,C语言实验6函数

实验6 函数

实验要求:

1.掌握C语言函数定义及、声明、及调用的方法;

2.掌握主调函数和被调函数之间的参数传递方式;

3.掌握函数嵌套调用的方法;

4.了解函数递归调用的方法;

读程序:

1.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半加一个。到第5天早上想再吃时,见只剩下一个桃子了,求第一天摘了多少?

#include

int fun(int p)

{

int n=1,day;

for(day=1;day<=p;day++)

n=(n+1)*2;

return n;

}

void main()

{

int n,day;

printf("Please input day:");

scanf("%d",&day);

n=fun(day);

printf("%d",n);

}

(1)算法分析:解决此问题采取逆向思维的方法,从后往前推断。

(2)子函数分析:本题的子函数写在主函数的上面,并设置成带有返回值,当然也可以改成不带返回值的。参数的传递过程是将主函数中day的值传给子函数的参数p,代表已过的天数。题目中说“到第5天早上想再吃时”,此题中的子函数可以实现任意天的计算,比如9天,8天吃光,这个值由主函数输入。另外变量n表示猴子摘下的桃子个数。

2.编写程序,利用递归的方法计算n!

#include"stdio.h"

void main()

{

long fun(int n);

int n;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值