设a是含有n个分量的整数数组,写出求a中n个整数的最大值的递归函数
代码思路:让你递归求最大值,你就比较当前的元素和前面数组一部分元素即可,
然后递归别忘了退出条件。
int findMax(int arr[],int n) {
if (n == 1) {
return arr[0];
}
int x = findMax(arr, n - 1);
if (arr[n - 1] > x) {
return arr[n - 1];
}
else {
return x;
}
}
int main()
{
int arr[20] = { 0 };//默认测试大小不超过20
int n = 0;
printf("请输入数组大小n:");
scanf("%d", &n);
printf("\n");
printf("请输入数组元素:");
for (int i = 0;i < n;i++) {
scanf("%d", &arr[i]);
}
printf("\n");
printf("最大数组元素为%d",findMax(arr,n));
return 0;
}