#9457. 交换最小值

交换最小值

🧾【题号未给】交换最小值

🎯【任务总览】

给定一个包含 n200n \leq 200 个整数的数组,请你找到其中​最小值第一次出现的位置​,将该值与​第一个数交换​,然后输出该最小值的位置以及交换后的数组内容。


📥【输入格式】

第一行:一个整数 n(1 ≤ n ≤ 200)
第二行:n 个整数,范围在 [-32768, 32767] 之间,以空格分隔

📤【输出格式】

第一行:最小值所在的位置(从 1 开始计数)
第二行:交换后的数组,数之间用空格分隔

🧪【输入样例】

3
2 6 1

✅【输出样例】

3
1 6 2

🔍【题目分析】

  1. 遍历数组,记录最小值以及它第一次出现的位置 min_pos
  2. min_pos ≠ 0,则将 a[0]a[min_pos] 进行交换。
  3. 注意输出位置从 ​1 开始计数​。

🧠【实现要点】

  • 用一个变量记录最小值 min_val,初始为 INT_MAX
  • 使用 min_pos 记录最小值的索引(初始设为 0 或 -1)。
  • 交换时注意不要越界。