用c语言写输入一个数n,输出斐波那契数列第n个数,不用函数的递归调用
时间: 2023-05-30 17:04:01 浏览: 84
```c
#include <stdio.h>
int main() {
int n, i, a = 0, b = 1, c;
printf("请输入一个正整数n:");
scanf("%d", &n);
if (n <= 0) {
printf("输入有误!");
return 0;
}
if (n == 1) {
printf("斐波那契数列第%d个数是:%d", n, a);
return 0;
}
if (n == 2) {
printf("斐波那契数列第%d个数是:%d", n, b);
return 0;
}
for (i = 3; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
printf("斐波那契数列第%d个数是:%d", n, c);
return 0;
}
```
相关问题
c语言写:输入一个数n,输出斐波那契数列的第n个,不用函数的递归调用
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int a = 0, b = 1, c;
for (int i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
printf("%d", b);
return 0;
}
用C语言编写一个递归函数,输出斐波那契数列前n项和
以下是用C语言编写的递归函数,输出斐波那契数列前n项和的代码:
```c
#include<stdio.h>
int fib(int n) {
if(n == 1 || n == 2) {
return 1;
} else {
return fib(n-1) + fib(n-2);
}
}
int sumFib(int n) {
int sum = 0;
for(int i=1; i<=n; i++) {
sum += fib(i);
}
return sum;
}
int main() {
int n;
printf("请输入要输出的斐波那契数列的项数:");
scanf("%d", &n);
printf("前%d项斐波那契数列的和为:%d\n", n, sumFib(n));
return 0;
}
```
在上述代码中,`fib(n)` 函数用于计算斐波那契数列的第 n 项,`sumFib(n)` 函数用于计算前 n 项斐波那契数列的和。在 `main()` 函数中,首先输入要输出的项数 n,然后调用 `sumFib(n)` 函数计算前 n 项斐波那契数列的和,并输出结果。