这俩代码有啥区别吗·-·
2025-07-13 12:13:46
发布于:上海
23阅读
0回复
0点赞
#include<iostream>
int main(){
long long n,a[35]={0,1,2};
for(int i=3;i<=30;i++){
a[i]=a[i-1]+a[i-2];
}
while(std::cin>>n){
printf("%lld\n",a[n]);
}return 0;
}
#include<cstdio>
int main(){
long long n,a[35]={0,1,2};
for(int i=3;i<=30;i++){
a[i]=a[i-1]+a[i-2];
}
while(scanf("%lld",&n)){
printf("%lld\n",a[n]);
}return 0;
}
前一个对的,后一个OLE,后一个我甚至Dev-C++里试了试都没问题啊
全部评论 2
scanf
读不出来的时候会返回EOF
而不是0
。2025-07-14 来自 湖南
0scanf不是这么用的,读不到返回-1的,取反一下判断。
#include<cstdio> int main(){ long long n,a[35]={0,1,2}; for(int i=3;i<=30;i++){ a[i]=a[i-1]+a[i-2]; } while(~scanf("%lld",&n)){ printf("%lld\n",a[n]); }return 0; }
2025-07-14 来自 浙江
0
有帮助,赞一个