有没有码神知道这程序咋解,看不明白

若有以下输入(
1 4 2 3 3 4 1 2 3 3 2 2 2 3 3 1 1 1 4 1 1 1 -1
#define M 50
main()
{
int a[M],c[5],i,n=0,x;
printf(“Enter 0~4, to end with -1\n”);
scanf(“%d”,&x);
while(x!=-1)
{
if(x>=0&&x<=4)
{ a[n]=x; n++; }
scanf(“%d”,&x);
}
for(i=0;i<5;i++) c[i]=0;
for(i=0;i
printf(The result is:\n”);
for(i=1;i<=4;i++) printf(“%d:%d\n”,i,c[i]);
printf(“\n”);
}

帮你修改好了

#include <stdio.h>

#define M 50

int main() {
    int a[M], c[5] = { 0 }, i, n = 0, x;
    printf("Enter 0~4, to end with -1\n");
    while (scanf("%d", &x) == 1 && x != -1) {
        if (x >= 0 && x <= 4)
            a[n++] = x;
    }
    for (i = 0; i < n; i++)
        c[a[i]]++;
    printf("The result is:\n");
    for (i = 1; i <= 4; i++)
        printf("%d:%d\n", i, c[i]);
    return 0;
}