C语言斐波那契数列求第几个数
作者的问题是兄弟们,这个斐波那契数列怎么输不出结果,哪里错了吗
估计是个新手,把问题放在图片说明里了 两个问题:
①输不出结果是什么意思,什么现象?
②这是 C 语言吗? dolly_yos2 发表于 2023-2-28 13:52
两个问题:
①输不出结果是什么意思,什么现象?
②这是 C 语言吗?
同意
1. C 语言……iostream?
2. 如果这是 C++……scanf?
什么时候 C 和 C++ 合体了? 作者的源代码如下(我手敲的)
#include<stdio.h>
using namespace std;
void Fib(int n,int a[])
{
int i=0;
a=1;a=1;
for(i=2;i<n;i++)
a=a+a;
cout<<a<<endl;
}
int main()
{
int a;
int n;
scanf("%d",&n);
Fib(n,a);
} #include<iostream>
using namespace std;
void Fib(int n,int a[])
{
int i=0;
a=1;a=1;
for(i=2;i<n;i++)
a=a+a;
cout<<a<<endl; // 这个应该是 i - 1,因为 i 是要等于 n 的时候才结束循环的,而在数组中第 n 个元素应该是 n - 1
}
int main()
{
int a;
int n;
scanf("%d",&n);
Fib(n,a);
}
isdkz 发表于 2023-2-28 15:01
isdkz 大神,他这没#include<stdio.h>哪来的 scanf? 歌者文明清理员 发表于 2023-2-28 15:11
isdkz 大神,他这没#include哪来的 scanf?
在 C++ 中引入 iostream 就可以了 本帖最后由 jhq999 于 2023-2-28 15:41 编辑
#include <bits/stdc++.h>
using namespace std;
void fib(int n)
{
int a=1,b=1,i=0;
for(i=2; i<n; i+=1)b+=a,a=b-a;
cout<<b;
}
int main ()
{
for(int i=1;i<10;i+=1)fib(i),cout<<" ";
return 0;
} 本帖最后由 ExiaGN001 于 2023-2-28 17:41 编辑
边界没调整好,多输出了一位。
#include<iostream>
using namespace std;
void Fib(int n,int a[])
{
int i=0;
a=1;a=1;
for(i=2;i<n;i++)
a=a+a;
cout<<a<<endl;//这里是唯一一处变动,将i改成了i-1
}
int main()
{
int a;
int n;
scanf("%d",&n);
Fib(n,a);
return 0;
}
已经测试过了,结果正常
有用->最佳,谢谢 歌者文明清理员 发表于 2023-2-28 14:03
同意
1. C 语言……iostream?
C++其实也可以用scanf的
页:
[1]