本人大一新生 有c语言问题提问

#include<stdio.h>

void main()
{
    int s[10] = { 6,5,9,7,11,66,55,2,4,10 };
    int i = 0;
    int n = 0;
    int min = s[i];
    int max = s[n];
    int he = 0;
    int j = 0;
    double pjs = 0;
    while (i <= 9)
    {
        if (min < s[i + 1])
        {
            min = min;
            i++;
        }
        else
        {
            min = s[i + 1];
            i++;

        }
        if (max > s[n + 1])
        {
            max = max;
            n++;
        }
        else
        {
            max = s[n + 1];
            n++;
        }
    }    
    for (int v = 0; v < 10; v++)
    {
        if(s[v] % 2 == 0)
        {
            he = he + s[v];
            j++;
        }
    }
    pjs = (double)he / j;
    printf("min=%d\nmax=%d\n偶数和为%d\n偶数个数为%d\n偶数平均数为%.2lf",min,max,he,j,pjs);
}

输出max和min 总有一个正确一个错误 我第一开始用的两个while循环 把max和min分别循环 后来用的一个while也不行 用for也不行 到底哪里出错了啊

数组越界了,把所有的n+1,i+1都换成n,i,而且没有这么麻烦