这个程序我不会写帮我

img
1、编程实现输入 N 个数,然后去除最大数和最小数后,计算出
平均值。
2、编程实现下列功能。(可逐步实现)
(1) 随机生成 10 个数(1100 之间),对其进行从小到大的排
序后输出。
(2) 再随机生成一个数(1
100 之间)并输出,然后它判断是
否属于前面生成的 10 个数中的一个。如果属于,则输出
是第几个(排序后的)。
(3) 如果不输入则将它插入到前面数列中的正确位置中,并再
次输出新的有序数列

#include <stdio.h>
const int N = 5;
int main()
{
    int sum,t,max,min;
    scanf("%d",&t);
    max=min=sum=t;
    for(int i=1;i<N;i++)
    {
        scanf("%d",&t);
        if(t>max)max=t;
        else if(t<min) min=t;
        sum+=t;        
    }
    sum-=max;
    sum-=min;
    printf("%f\n",sum*1.0/(N-2));

    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

const int N = 11;
int main()
{
    int a[N], t;
    srand((unsigned int)time(NULL));

    for(int i = 0; i < N - 1; i++)
    {
        a[i] = rand() % 100 + 1;
    }

    for(int i = 0; i < N - 2; i++)
    {
        for(int j = i + 1; j < N - 1; j++)
        {
            if(a[i] > a[j])
            {
                t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
        }
    }

    for(int i = 0; i < N - 1; i++)
    {
        printf("%d ", a[i]);
    }

    printf("\n");

    t = rand() % 100 + 1;

    int i, index = 0;

    for(i = N - 1; i >= 0 ; i--)
    {
        if(t == a[i])
        {
            printf("%d是数组中的第%d个\n", t, i + 1);
            break;
        }
        else if(t < a[i])
        {
            index = i;
        }
    }

    if(i < 0)
    {
        for(i = N - 2; i >= index; i--)
        {
            a[i + 1] = a[i];
        }

        a[i + 1] = t;

        for(int i = 0; i < N; i++)
        {
            printf("%d ", a[i]);
        }

        printf("\n");
    }

    return 0;
}