输入10个数输出最大值和这些数

输入10个数输出最大值和这些数。主函数:输入,输出。
子函数:判断(使用指针进行参数传递)

img


#include <stdio.h>

void find_max(int *arr, int size, int **max) {
    *max = arr;
    for (int i = 0; i < size; i++, arr++) {
        if (*arr > **max) {
            *max = arr;
        }
    }
}

int main() {
    int arr[10];
    int *max_ptr;

    printf("输入10个数:\n");
    for (int i = 0; i < 10; i++) {
        scanf("%d", &arr[i]);
    }

    find_max(arr, 10, &max_ptr);

    printf("最大值为:%d\n", *max_ptr);
    printf("这些数:");
    for (int i = 0; i < 10; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

img


代码如下:

#include <stdio.h>

int max(int* nums, int n);

int main() {
    int nums[10];
    printf("请输入10个整数: ");
    
    for (int i = 0; i < 10; i++) {
        scanf("%d", &nums[i]);
    }
    
    int max_num = max(nums, 10);
    printf("最大值是: %d\n", max_num);
    
    printf("输入的数字是: ");
    for (int i = 0; i < 10; i++) {
        printf("%d ", nums[i]);
    }
    printf("\n");
}

int max(int* nums, int n) {
    int max = nums[0];
    for (int i = 1; i < n; i++) {
        if (nums[i] > max) {
            max = nums[i]; 
        }
    }
    return max;
}


该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:

以下是一种 C 语言实现的方法,使用指针进行参数传递,实现了输入 10 个数并输出最大值和这些数的功能:

#include <stdio.h>

void max_value(int *nums, int n, int *max) {
    *max = nums[0];
    for (int i = 1; i < n; i++) {
        if (nums[i] > *max) {
            *max = nums[i];
        }
    }
}

int main() {
    int nums[10];
    int max;
    printf("Please input 10 numbers: ");
    for (int i = 0; i < 10; i++) {
        scanf("%d", &nums[i]);
    }
    max_value(nums, 10, &max);
    printf("The maximum value is %d\n", max);
    printf("The numbers are: ");
    for (int i = 0; i < 10; i++) {
        printf("%d ", nums[i]);
    }
    printf("\n");
    return 0;
}

在上述代码中,max_value 函数使用指针 numsmax 作为参数,分别表示输入的数组和最大值。在函数中,首先将最大值初始化为数组的第一个元素,然后遍历数组,如果发现当前元素比最大值大,则更新最大值。最终,最大值的值会保存在 max 指针指向的变量中。

在主函数中,首先输入 10 个数,并将它们存储在 nums 数组中。然后调用 max_value 函数,计算出最大值,并将最大值保存在 max 变量中。最后,使用循环输出所有输入的数,并输出最大值。

需要注意的是,在 max_value 函数中,我们使用 *max 来访问 max 指针指向的变量的值,因为 max 本身是一个指针,而不是一个普通的变量。

假设我们按照上面的代码输入了以下 10 个数:

Please input 10 numbers: 5 7 3 9 2 8 4 6 1 0

则程序的输出应该是:

The maximum value is 9
The numbers are: 5 7 3 9 2 8 4 6 1 0

其中,第一行输出了最大值 9,第二行输出了所有输入的数。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢