A-A+
#include<stdio.h>int fun(int*a int i int j){if
问题详情
#include<stdio.h>
int fun(int*a,int i,int j)
{if(i<j&&j<5)
{i++;j--;
a[i]+=a[j]:
{un(a,i,j);
return a[i];
}
}
main()
{int x[]={2,6,18,10,12},i;
for(i=0;i<5;i++)
if(i==2)
print{("%dn",fun(x,0,3));
}
参考答案
正确答案:
24
[解析]
#include<stdio.h>
int fun(int *a,int i,int j)/*此函数为采用递归算法的函数*/
{if(i<j&&j<5)/*保证i和j在数组范围内当i<j时执行下列语句*/
{i++;j--;
a[i]+=a[j];
fun(a,i,j);/*函数自身调用自身的一个递归调用过程*/
return a[i];/*返用数组几素a[i]的值*/
}
}
main()
{int x[]={2,6,18,10,12},i;
for(i=0;i<5;i++)
if(i=-2)
printf("%d\n",fun(x,0,3));/*当a=2时打印输出fun(x,0,3)的值*/
}