一个让我这个C初学者编程的问题抓狂的问题

C初学者,在做一个“统计200-400之间有多少素数,输出这些素数、素数总数及它们的和”的题,代码死活就是跑不起来,怎么办捏

#include
int main(void)
{
    int i,k=0,e,a[200],m=200,n;
    for (n=1;n<=200;n++)
    {
        for (i = 2; i < m; i++)
        {
            if (m % i != 0)
            {
                e = m;
                a[k] = e;
                k++;
            }
            m++;
        }
    }
    printf("素数有:\n");
    for (i = 0; i < k; i++)
        printf("%d\t", a[i]);
    printf("\n200~400间的素数共有%d个,最大的为%d,最小的为%d", k + 1, max_1(k, a), min_1(k, a));
    return 0;
}
int max_1(int n,int a[])
{
    int i, max=a[0];
    for (i = 0; i < n; i++)
        if (max < a[i])
            max = a[i];
    return max;
}
int min_1(int n, int a[])
{
    int i, min=a[0];
    for (i = 0; i < n; i++)
        if (min > a[i])
            min = a[i];
    return min;
}

每次运行它就报错,报错如下:

img

向各位请教一下这是哪一步有问题呢?如何才能让程序跑起来呢?

你为啥要写那么复杂呢,min和max很好得到呀,专门写俩函数,还多搞俩循环,增加时间复杂度