Gin.700 2024-10-28 15:20 采纳率: 83.3%
浏览 9
已结题

n 个数存放在数组中,用指针指向数组首地址,在子函数中用指针做形参实现:将最小值与第一个数交换。在主函数中输出交换后的 n 个数

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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月17日
  • 已采纳回答 11月9日
  • 创建了问题 10月28日