c语言40分,123过不了求解
查看原帖
c语言40分,123过不了求解
800573
tt_zz楼主2022/10/25 16:07
#include <stdio.h>
int x,y,num[101][22],min,max;
double book[101],max2;
void pj(int max, int min, int num[][22], int i)
{
    double  sum = 0;
    int j;
    for (j = 0; j < y; j++)
    {
        if (num[i][j] == min || num[i][j] == max)
        {
            continue;
        }
        sum += num[i][j];
    }
    book[i] = sum / ((double)y - 2.0);
    while (i == x - 1)
    {
        for (i = 0,  max2=book[0]; i < x; i++)
        {
            if (book[i] > max2)
            {
                max2 = book[i];
            }
        }
        printf("%.2f", max2);
        break;
    }
}
void zxzd(int num[][22], int x, int y)
{
    int i, j;
    for (i = 0; i < x; i++)
    {
        for (j = 0, min = num[i][0], max = num[i][0]; j < y; j++)
        {
            if (num[i][j] < min)
            {
                min = num[i][j];
            }
            if (num[i][j] > max)
            {
                max = num[i][j];
            }

        }
        pj(max, min, num, i);
    }
}
int main(void)
{
    int i, j;
    scanf("%d %d", &x, &y);
    for(i=0;i<x;i++)
    {
        for (j = 0; j < y; j++)
        {
            scanf("%d", &num[i][j]);
        }
    }
    zxzd(num, x, y);
    return 0;
}
2022/10/25 16:07
加载中...