AC字符串判断问题求解决啊

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

#include
#include
int main(){
int n=0;
char a[20];
scanf("%s",a);
int l = strlen(a);
for (int i = 0; i < l; i++){
if(a[i]=='A' or a[i]=='B' or a[i]=='c'){
n++;
}else{
n=0;
}
}
if(n==l){
printf("AC");
}else{
printf("WA");
}
return 0;
}

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

AC字符串
题目描述
小图灵学完字符串以后决定使用一下字符串做练习。 输入一个字符串,请你判定这个字符串是否为AC字符串。

注:若一个字符串是AC字符串,那么规定该字符串中只含有大写的A、B、C字母(规定所指范围不包括字符串末尾的'',即只需判断除''之外的其他可见字符)。

输入说明:输入一个不含空白字符的字符串(长度不超过15)

输出说明:若该字符串是AC字符串,输出AC,否则输出WA

输入样例1
abc

输出样例1
WA

输入样例2
ABCAAACCC

输出样例2
AC


#include <stdio.h>
#include <string.h>
int main()
{
    int n = 0;
    char a[20];
    scanf("%s", a);
    int l = strlen(a);
    for (int i = 0; i < l; i++)
    {
        if (a[i] == 'A' || a[i] == 'B' || a[i] == 'C')
        {
            n++;
        }
        else
        {
            n = 0;
        }
    }
    if (n == l)
    {
        printf("AC");
    }
    else
    {
        printf("WA");
    }
    return 0;
}