#include int fun(int n,int *s){int f1,f2;if(n==1IIn==2)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;} return 0;void main(){int x;fun(6,&x);printf("%d\n",x);}不会,完全看不懂.标记下.

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 23:44:42
#includeintfun(intn,int*s){intf1,f2;if(n==1IIn==2)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;}retu

#include int fun(int n,int *s){int f1,f2;if(n==1IIn==2)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;} return 0;void main(){int x;fun(6,&x);printf("%d\n",x);}不会,完全看不懂.标记下.
#include int fun(int n,int *s){int f1,f2;if(n==1IIn==2)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;} return 0;void main(){int x;fun(6,&x);printf("%d\n",x);}不会,完全看不懂.标记下.

#include int fun(int n,int *s){int f1,f2;if(n==1IIn==2)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;} return 0;void main(){int x;fun(6,&x);printf("%d\n",x);}不会,完全看不懂.标记下.
这个函数是使用递归算法计算斐波纳契数列的,那个数列是这样的:
1,1,2,3,5,8,13,21.依此类推
大致解释如下,你看看吧,应该能看明白了吧.
#include
int fun(int n,int *s)
{
\x09int f1,f2;
\x09if(n==1 || n==2) // 如果是第一个或者第二个数,他们均为1
\x09\x09*s=1;
\x09else
\x09{
\x09\x09fun(n-1,&f1); // 递归计算前一个
\x09\x09fun(n-2,&f2); // 递归计算前两个位置的
\x09\x09*s=f1+f2; // 数列的定义就是当前位置是前两个数字之和
\x09}
\x09return 0;
}
int main()
{
\x09int x;
\x09fun(6,&x); // 看看数列第六个位置是不是8
\x09printf("%d\n",x);
\x09\x09fun(8,&x);
\x09printf("%d\n",x);// 看看数列第8个位置是不是21
\x09return 0;
}

#include stdio.h double fun(int m) { // } #include void fun(int a[],int n) { int i,t; for(i=0;i #include #include fun(int n) { int k,r; for(k=2;k #include int fun(int b[].int n) { int i.r=1:for(i=0:i #include long fun(int n) {long s; if(n #include int inc(int a){ return(++a); }int multi(int*a,int*b,int*c){ return(*c=*a**b); }typedef int(FUNC1)(int in);typedef int(FUNC2) (int*,int*,int*);void show(FUNC2 fun,int arg1,int*arg2){FUNC1 p=&inc;int temp =p(arg1);fun(&temp,&arg1,arg2);printf( #include double fun( int m ){double t = 1.0;int i;for( i = 2; i C++填空题1 求详解#include using namespace std;int fun(int x,int y){cout #include int inc(int a) { return(++a); } int multi(int*a,int*b,int*c) { return(*c=*a**b); }typedef int(FUNC1)(int in);  typedef int(FUNC2) (int*,int*,int*);  void show(FUNC2 fun,int arg1,int*arg2)  {  INCp=&inc;  int temp =p(arg1) C语言 这个fun函数哪里错了?#include #include #include void fun(char *a,int b[]){int i;for(i=0;i #include stdio.hint fun (int k,int *m){if (k%3) *m=k*k;else *m=k/3;}main(){int (*p) (int,int *),m;p=fun;(*P) (78,&m);printf ( %d ,m);} #include int b=2; int fun(int *k) {b=*k+b;return(b);} main() {int a[10]={1,2,3,4,5,6,7,8}, #include void fun(int p) { int d=2; p=d++; printf(“%d”,p);} main() { int a=1; fun(a); printf(“%d #include int main( ){int c;cout 下面的这个是参考答案上的程序# include void fun(int (*str)[10],int *a,int *n,int mm,int nn){int i,j;for(j=0;j #include fun(int x) {if(x/2>0)fun(x/2) printf(%d,x%2); } main() {fun(20);putchar(' ');} #include int b=2; int fun(int*k) { b=*k+b;return(b);} main() {int a[10]={1,2,3,4,5,6,7,8}#include int b=2; int fun(int*k) { b=*k+b;return(b);} main() {int a[10]={1,2,3,4,5,6,7,8},i;for(i=2;i #include sub(int *a,int n,int k) { if(k