pdd挖宝人 2023-07-18 09:47 采纳率: 72.7%
浏览 33
已结题

C语言及其应用——整数求和

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

img

img

  • 写回答

4条回答 默认 最新

  • qzjhjxj 2023-07-18 11:40
    关注

    整体修改如下,改动处见注释,供参考:

    #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***********/
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月26日
  • 已采纳回答 7月18日
  • 创建了问题 7月18日