测试说明
输入:一行,五个正整数。所有正整数均不超过 109。
输出:一行,以空格分隔的两个数,分别为任意选出四个整数和的最小值和最大值。
例如测试集 1 的输入是: 1 2 3 4 5 测试集 1 的运行结果为: 10 14


测试说明
输入:一行,五个正整数。所有正整数均不超过 109。
输出:一行,以空格分隔的两个数,分别为任意选出四个整数和的最小值和最大值。
例如测试集 1 的输入是: 1 2 3 4 5 测试集 1 的运行结果为: 10 14


整体修改如下,改动处见注释,供参考:
#include <stdio.h>
#include <stdlib.h>
void miniMaxSum(int*, long long*, long long*);
int main()
{
int i;
long long sum_max, sum_min;
long long* max_p = &sum_max, * min_p = &sum_min;
int* arr = (int*)malloc(sizeof(int) * 5); // 修改
for (i = 0; i < 5; i++)
scanf("%lld", arr + i);
miniMaxSum(arr, max_p, min_p);
printf("%lld %lld\n", sum_min, sum_max);
return 0;
}
void miniMaxSum(int* arr, long long* max_p, long long* min_p)
{
/***********Begin**********/
int i, j;
long long sum[5] = { 0 };
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++)
if (j != i)
sum[i] += arr[j]; // 修改
}
for (i = 0; i < 5; i++) { // 修改
if (i == 0 || *max_p < sum[i]) // 修改
*max_p = sum[i];
if (i == 0 || *min_p > sum[i]) // 修改
*min_p = sum[i];
}
/***********End***********/
}