top1编程
← 返回题目
题解

【入门】递归法求最大值

1 条题解

  • 0
    @ 2026-7-28 22:09:46
    #include <iostream>
    using namespace std;
    void findMax(int a[], int n, int &x, int &z, int i) {
    	if (i == n - 1) {
    		cout << x << " " << z;
    		return;
    	}
    	if (a[i + 1] > x) {
    		x = a[i + 1];
    		z = i + 2;
    	}
    	findMax(a, n, x, z, i + 1);
    }
    int main() {
    	int n;
    	int x, z;
    	cin >> n;
    	int a[1000];
    	for (int i = 0; i < n; i++) {
    		cin >> a[i];
    	}
    	x = a[0];
    	z = 1;
    	findMax(a, n, x, z, 0);
    	return 0;
    }
    
    • 1