马上就要开学了,C语言上机测试小编也很慌,于是今天早上赶紧爬起来复习,结果看到这么一个题目:
现在有一截楼梯,根据你的腿长,你一次能走 1 级或 2 级楼梯,已知你要走 n 级楼梯才能走到你的目的楼层,请实现一个方法,计算你走到目的楼层的方案数。
刚拿到题时,我也有点懵,但是仔细一想,是递归的题目:
首先,把 n<=2 的情况直接返回,再考虑n>2的情况:
一一把他们类出来,就能发现规律:
下面是我自己写的代码,可能会有不对的地方,望大家指正:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
scanf("%d",&n);
printf("%ld",Fibonacci(n));
return 0;
}
int Fibonacci(int n)
{
if (n == 1 || n == 2)
{
return n;
}
int first = 1;
int second = 1;
int third = 2;
while (n > 2)
{
first = second;
second = third;
third = first + second;
n--;
}
return third;
}
还有就是输入一个整型数组,在不知道它的长度的前提下,如何知道它的长度,推荐使用 do-while 语句,可以定义一个函数,例如下:
在这里的 while 语句中,可以设置终止条件:
for example
(score[i]!='\n')——表示只要换行就停止;
(score[i]!='\0')——表示到末尾就停止;
*****
像这样的例子还有很多,小编就不一一列举了,大家可以自行尝试: