简单c语言程序问题????

来源:百度知道 编辑:UC知道 时间:2024/09/26 14:07:32
猴子爬梯每次只能爬2或3或4个台阶,输入台阶数,求爬法??
#include <stdio.h>
void main()
{
int a[100]={0,1,1,2},n,i;
printf("请输入台阶数:");
scanf("%d",&n);
if(n<=4)
printf("猴子爬梯的方法有:%d种",a[n-1]);
else
{ for(i=4;i<=n-1;i++)
a[i]=a[i-4]+a[i-3]+a[i-2];
printf("猴子的爬法有%d种\n",a[i]);
}
}
怎么会得不出结果呢???

不考虑你的算法是否正确

可以这样改:

#include <stdio.h>
void main()
{
int a[100]={0,1,1,2},n,i,nCnt = 0;
printf("??入台??:");
scanf("%d",&n);
if(n<=4)
printf("猴子爬梯的方法有:%d种",a[n-1]);
else
{
for(i=4;i<=n-1;i++)
{
nCnt += a[i]=a[i-4]+a[i-3]+a[i-2];
}
printf("猴子的爬法有%d种\n",nCnt);

}
}