递归
已知顺序表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\n",s); s = 0; fun1(a,0,s); printf("%d\n",s); return 0; }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步