C 语言实现:交换整数序列中最小值与首数、最大值与尾数(含边界处理)
```c #include <stdio.h> // 交换两个整数的值 void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } int main() { int n; scanf("%d", &n); int arr[10]; // 读取输入的整数 for (int i = 0; i < n; i++) { scanf("%d", &arr[i]); } // 找到最小值的索引 int min_index = 0; for (int i = 1; i < n; i++) { if (arr[i] < arr[min_index]) { min_index = i; } } // 交换最小值和第一个数 swap(&arr[0], &arr[min_index]); // 找到最大值的索引 int max_index = 0; for (int i = 1; i < n; i++) { if (arr[i] > arr[max_index]) { max_index = i; } } // 交换最大值和最后一个数 swap(&arr[n - 1], &arr[max_index]); // 输出交换后的序列 for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } return 0; } ``` 代码解释 1. `swap`函数:用于交换两个整数的值,使用指针作为参数,通过临时变量`temp`完成交换。 2. `main`函数: - 读取输入的整数个数`n`。 - 读取`n`个整数存储在数组`arr`中。 - 找到数组中最小值的索引`min_index`,并将最小值与数组的第一个元素交换。 - 找到数组中最大值的索引`max_index`,并将最大值与数组的最后一个元素交换。 - 输出交换后的数组元素,每个元素后带一个空格。 边界问题处理 - 代码假设输入的整数个数`N`不超过10,使用固定大小的数组`arr[10]`存储输入的整数。 - 题目保证最大和最小值都是唯一的,所以在寻找最大值和最小值时,不需要额外处理相等的情况。 ######[AI问答 | 547点数解答 | 2025-11-27 11:42:10]
- 求解特定条件下整数序列的最小值:算法分析与代码实现(字节豆包 | 746点数解答 | 2026-01-24 13:14:40)60
- 判断超级幸运数:满足“纯4/7数位”或“4/7总个数为4或7”的整数计数(阿里通义 | 965点数解答 | 2026-03-13 12:15:06)28
- 地下水及地基土腐蚀性分析:从代码优化到逻辑完善的全面攻略(DeepSeek | 498点数解答 | 2025-06-08 21:49:49)231
- 礼盒多级排序:总价→最贵→最便宜→编号的 Python 实现与详解(阿里通义 | 1000点数解答 | 2026-03-16 12:13:21)17
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)350
- C++ 实现:轻松找出 n 个整数中的第二小值(字节豆包 | 260点数解答 | 2026-02-07 21:19:29)29
- C++实现找出数组中第二小的值(字节豆包 | 526点数解答 | 2026-03-27 19:40:26)13
- 找出数组中第二小值的C++代码实现(字节豆包 | 696点数解答 | 2026-03-28 19:40:41)8
- C++实现数组特定位置最小值交换并输出指定元素(字节豆包 | 607点数解答 | 2026-04-04 19:31:04)1
- CentOS下Java进程出现futex_wait_queue_me问题的处理全流程(阿里通义 | 283点数解答 | 2023-11-20 14:51:26)468
- 替雷利珠单抗致免疫相关性糖尿病:病例报道与机制探讨,为临床用药敲响警钟( | 164点数解答 | 2024-10-11 14:52:52)269
- 使用 C++ 找出全息偶像总决选人气最稳定的偶像(字节豆包 | 502点数解答 | 2026-03-08 10:20:28)14