请修正下代码🙏需要统计大写字母个数遇到\n结束

#include<stdio.h>
int main()
{
char c;
int i,a[26]={0};
while((c=getchar())!='\n ');
{
if(c>='A'&&c<='Z')
a[c-'A']++;
}
for(i=0;i<=25;i++)
{
printf("%c(%d)",'A'+i,a[i]);
if((i+1)%5==0)
printf("\n");
}
return 0;

}
#include <stdio.h>

int main()
{
    char c;
    int i, j, a[26] = {0};
    while ((c = getchar()) != EOF)
    {
        if (c == '\n')
            break;
        if (c >= 'A' && c <= 'Z')
            a[c - 'A']++;
    }
    for (i = 0, j = 0; i < 26; i++)
    {
        if (a[i])
        {
            printf("%c(%d)", 'A' + i, a[i]);
            j++;
            if (j % 5 == 0)
                printf("\n");
        }
    }
    return 0;
}

while((c=getchar())!='\n '); 修改为:while((c=getchar())!='\n') //; 句末多了';' 分号,‘\n '多了空格 '\n' .