慕设计4025122
2020-04-18 16:03
#include <stdio.h>
int getPeachNumber(n)
{
int num; //定义所剩桃子数
if(n==10)
{
retutn 1; //递归结束条件
}
else
{
num = (getPeachNumber(n+1)+1)*2; //这里是不应该用递归呢?
printf("第%d天所剩桃子%d个\n", n, num); //天数,所剩桃子个数
}
return num;
}
int main()
{
int num = getPeachNumber(1);
printf("猴子第一天摘了:%d个桃子。\n", num);
return 0;
}
调用函数getPeachNumber时形参位置应该加上类型。在递归计算挑子数时遵循的是:今天原有挑子数/2-1=今天剩下挑子数。递归递归,原理便是基于前或后一数据。程序中要求的挑子数为原有的,公式应该是:(剩下+1)*2=原数
retutn 1; //递归结束条件, 这里的return写错了!
C语言入门
926020 学习 · 20793 问题
相似问题