n = 1 的时候,只有一种走法;n = 2的时候,有两种走法;n=3 的时候 有1+2=3种走法,n = 4 的时候,有2+3 =5种走法,其规律是1,2,3,5,8...n>=3的时候,是前两个的和,以这个思路:
#include<stdio.h>
int main(){
int n;
while(scanf("%d",&n),n!=0){ // 多组输入
int i,a1=1,a2=2,a;//n==1,一种方法,n=2,两种,n>3累加
if(n==1){
printf("1\n");
}else if(n==2){
printf("2\n");
}else{
for(i=3;i<=n;i++){
a=a1+a2;
a1=a2;
a2=a;
}
printf("%d\n",a);
}
}
return 0;
}