#include<iostream> #include<cstdlib> using namespace std; int Fab(int n) { if(n==1) cout<<1<<endl; else if(n==2) cout<<2<<endl; else if(n==3) cout<<3<<endl; else { return Fab(n-1)+Fab(n-3); } } int main() { int n; cin>>n; if(n==1) return 0; else cout << Fab(n) << endl; system("pause"); return 0; }不知道哪里错了
CHJH明亦 2020-04-30 12:05:23 |
第一点是主函数里的if似乎没什么用;第二点是对于你的fab函数,递归下去的话并没有返回什么东西回来,只是输出了一些东西,改成“return 1;return 2;return 3;”就可以了
为什么第一头牛第一年年初不生
简单的a+b (C语言代码)浏览:528 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:443 |
C语言训练-排序问题<1> (C语言代码)浏览:636 |
printf基础练习2 (C语言代码)浏览:955 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:611 |
WU-图形输出 (C++代码)浏览:836 |
完数 (C语言代码)浏览:757 |
1124题解浏览:630 |
简单的a+b (C语言代码)浏览:618 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:729 |