一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米,如果为0,就会陷进去无法继续跳跃。河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了,给定每个弹簧的力量,求袋鼠最少需要多少跳能够到达对岸
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
int a[100] = {0};
int n = 0;
int step = 0;
printf("请输入n的值:");
scanf("%d",&n);
printf("请输入每个庄子的弹跳系数:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
while(n!=0)
{
for(i=0;i<n;i++)
{
if(a[i]>=n-i)
{
n = i;
step++;
break;
}
}
}
printf("袋鼠过河至少需要%d次",step);
printf("\n");
return 0;
}
请问我这样做有问题吗