已知顺序表L含有n个整数,试分别以函数形式写出下列运算的递归算法:(1)求表中的最大整数(2)求表中的n个整数之和
思想:递归一次比一次或加一次即可
#include <stdio.h> #define N 8 void fun(int *a,int i,int &s) { if(i == N) return ; else{ s = s > a[i] ? s : a[i]; fun(a,i+1,s); } } void fun1(int *a,int i,int &s) { if(i == N) return ; else{ s += a[i]; fun1(a,i+1,s); } } int main() { int a[N] = {1,10,5,7,9,11,6,7}; int s = a[0]; fun(a,0,s); printf("%d ",s); s = 0; fun1(a,0,s); printf("%d ",s); return 0; }