m 位评委给选手进行打分,去掉一个最高分和一个最低分,求选于的平均得分。C语言

不知道如何在未知个数的自然数中求出最大最小值。m的值需要自己输入,成绩也需要自己输入。

定义一个最大值,一个最小值,输入的时候每次拿输入的值跟这俩比较,如果输入值大于最大值,最大值就赋值为输入的值,如果输入值小于最小值,最小值就赋值为输入的值,这样输入完,最大值,最小值就有了呀

#include <stdio.h>
 
int main()
{
    int n;
    int max=0,min=0,sum=0,temp;
      scanf("%d",&n);
    for(int i=0; i < n; i++ ){
        scanf("%d",&temp);
            if(i==0){
            max=temp;
            min=temp;
        }
            sum=sum+temp;
            if(temp>max) max=temp;
            if(temp<min) min=temp;
    }
     printf("最大值为:%d,最小值为%d,平均值为%f",max,min,(sum-max-min)*1.0/(n-2));

    return 0;
}
 

#include <stdio.h>
int main()
{
    int s,max,min,sum=0,n=0,i;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&s);
        sum += s;
        if(i==0)
            max=min=s;
        else if(max < s)
            max = s;
        else if(min > s)
            min = s;
    }
    printf("%.1f",(sum-max-min)/(m-2.0));
}


/*青年歌手参加歌曲大奖赛,有10个评委对她进行打分,
试编程求这位选手的平均得分(去掉一个最高分和一个最低分)
思路:从终端输入10个数并进行求和,两两比较找出最大值和最小值
        用总和减去最大值和最小值除8即可得平均值
*/
#include <stdio.h>
int main(int argc, char const *argv[])
{
    printf("input:\n");
    int i, j, n, t, arr[10];
    float sum;
    for (n = 0; n < 10; n++)
    {
        scanf("%d", &arr[n]);
    }
    for (i = 0; i < 9; i++)
    {
        for (j = 0; j < 9 - i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
            }
        }
    }
    for (int a = 1; a < 9; a++)
    {
        sum += arr[a];
    }
    printf("average:%.2f\n", sum / 8);
    return 0;
}