C语言,可爱的小明特别喜欢爬楼梯,他有的时候一次爬一个台阶,有的时候一次爬两个台阶,有的时候一次爬三个台阶。如果这个楼梯有n个台阶,小明一共有多少种爬法呢?n值从键盘输入。

/*

开发者:慢蜗牛 开发时间:2020.5.28

程序功能:小明爬楼梯

*/

#include<stdio.h>
int taijie(int n);

long taijie(int n)//求n台阶数的总方法
{

    long int i, a[50] = {1,2,4};

    for (i = 3; i <= n; i++)

    a[i] = a[i - 1]+a[i-2]+a[i-3];//根据规律推出的算法

    return a[n-1];
}

void main()
{

    int n;

    while (1)
    {
        scanf_s("%d", &n);

        while (n < 1 || n>47)//控制n在1到47之间
        {
            printf("input error,please re-enter\n");

            scanf_s("%d", &n);
        }

    printf("%d\n", taijie(n));
}
}

 

posted @ 2022-09-05 08:00  放氮气的蜗牛  阅读(49)  评论(0编辑  收藏  举报  来源