题目

从标准输入读入 n 个整数,使用指针遍历数组的方式找出其中的最大值并输出。

输入格式:第一行输入整数个数 n;第二行输入 n 个整数。

输出格式:输出一个整数,表示数组中的最大值,末尾换行。

数据范围与约定:1 ≤ n ≤ 1000。

思路与算法

1. 维护最大值指针
初始化最大值指针 int[]best = a; 指向首元素。

2. 指针遍历与比对
遍历指针 for (int[]p = a + 1; p < a + n; p++),若发现 *p > *best,则更新 best = p;。最终解引用 *best 即为最大值。

完整程序

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] a = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = sc.nextInt();
        }

        // 维护最大值索引(类似最大值指针)
        int bestIdx = 0;
        for (int p = 1; p < n; p++) {
            if (a[p] > a[bestIdx]) {
                bestIdx = p;
            }
        }

        System.out.println(a[bestIdx]);
    }
}

运行示例

输入:

5
3 9 1 7 5

输出:

9