n 个数存放在数组中,用指针指向数组首地址,在子函数中用指针做形参实现:将最小值与第一个数交换。在主函数中输出交换后的 n 个数。n个数为:3 5 7 4 8 2 9.
1条回答
大大大钢琴 2024-11-08 18:20关注博主你好,下面是我写的代码,不知道能否对你有所帮助:
#include <stdio.h> void swap_min_with_first(int *arr, int n) { if (n <= 1) return; int *min_ptr = arr; for (int *ptr = arr + 1; ptr < arr + n; ++ptr) { if (*ptr < *min_ptr) { min_ptr = ptr; } } // 交换最小值和第一个元素 int temp = *arr; *arr = *min_ptr; *min_ptr = temp; } int main() { int arr[] = {3, 5, 7, 4, 8, 2, 9}; int n = sizeof(arr) / sizeof(arr[0]); swap_min_with_first(arr, n); printf("交换后的数组:"); for (int i = 0; i < n; ++i) { printf("%d ", arr[i]); } return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报