执行 climb(6) 的返回值为( )。 int climb(int n){ if(n <= 2) return n; int a = 1, b = 2, c = 0; for(int i = 3; i <= n; i++){ c = a + b; a = b; b = c; } return c;
A:8
B:13
C:5
D:10
正确答案:B
答案解析
函数climb接收整数n。当n小于等于2时,直接返回n。对于n大于2的情况,使用三个变量a、b、c,初始值分别为1、2、0。从i=3开始循环至n(含),每次计算c为a与b之和,随后将a更新为b的值,b更新为c的值。循环结束后返回c。该过程通过迭代实现类似斐波那契数列的递推关系,每一项为前两项之和,起始项为1和2。
试卷来源:202603 CCF-GESP编程能力等级认证C++四级真题