文章
2
粉丝
0
获赞
9
访问
337
#include <iostream>
using namespace std;
int main() {
long dp[91];
int n;
dp[1]=1;
dp[2]=2;
for(int i=3;i<=91;i++){
dp[i]=dp[i-2]+dp[i-1];
}
while(cin>>n){
cout<<dp[n]<<endl;
}
return 0;
}
这段代码是跑不了的,会产生报错,最后参考正确代码并检查发现问题出在了dp数组上。
把dp设置为全局变量后则能成功通过,代码如下:
#include <iostream>
using namespace std;
long dp[91];
int main() {
int n;
dp[1]=1;
dp[2]=2;
for(int i=3;i<=91;i++){
dp[i]=dp[i-2]+dp[i-1];
}
while(cin>>n){
cout<<d...
登录后发布评论
根据C语言语法规则,在函数内部定义的数组需要手动初始化,如果不初始化理论上是随机值,只是现在的很多IDE都会自动优化为0。