题目
从标准输入读入 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