关于偶数统计代码的问题

问题遇到的现象和发生背景

问题如下:
现有若干行正整数,请你写一段程序分别统计每一行中有多少个偶数。

输入格式:
若干行,每行若干个正整数,其中第一个数代表这一行后边还有多少个整数。如果这个数为0,代表后边没有其他数了,程序也应该结束。测试用例保证输入合法,且所有整数可以用int存储。

输出格式:
若干行,每行对应输入中的一行(不包括输入中最后只有0的那行),每行一个整数,表示该行偶数的个数(统计时第一个表示该行后边还有多少个数的那个数不算)。

输入样例:
17 51 80 76 53 80 74 46 21 68 53 43 62 22 97 79 26 72
19 38 28 74 93 75 84 94 48 95 39 69 40 91 23 17 96 10 99 15
0
输出样例:
10
9

问题相关代码,请勿粘贴截图
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a[100][100];
    int i,j,n,sum=0;
    for(i=0;i<1000;i++)
    {
        for(j=0;j<1000;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    for(i=0;i<1000;i++)
    {
        n=a[i][0];
        if(n==0)
        {
            continue;
        }
        else
        {
            for(j=0;j<1000;j++)
            {
                if(a[i][j]%2==0)
                {
                    sum++;
                }
            }
            printf("%d\n",sum);
        }
    }
    return 0;
}

运行结果及报错内容

img

我想要达到的结果

以此题为例:
10
9

解答如下

#include <stdio.h>
int main()
{
    int t[2555],n=1;
    do
    {
        int count=0;
        scanf("%d",&n);
        if (n<1) break;
        for(int i=0;i<n;i++)
        {
            scanf("%d",&t[i]);
            if(t[i]%2==0)
            {
                count++;
            }
        }
        printf("%d\n",count);
    }
    while(n!=0);
    
    return 0;
}