PTA 车牌问题提问 某地举行活动,车辆限行: 输入一行字符表示车牌号码,五位,只允许是0~9数字或大写英文字母,至少一位数字。 若最后一个出现的数字为奇数,输出“限行” ;否则输出“通行”

/C语言问题,请大家帮我看一下为什么PTA显示部分正确?
题目如下:某地举行活动,车辆限行: 输入一行字符表示车牌号码,五位,只允许是0~9数字或大写英文字母,至少一位数字。 以下几种情况输出“非法输入”: 输入超过五位字符; 没有出现数字; 3)出现其他字符。 若最后一个出现的数字为奇数,输出“限行” ;否则输出“通行”
/

#include
int main()
{
    char str[6]={0};
    int i,number=0,flag=0,n;
    for(i=0,number=0;i<=5;i++)
    {
        scanf("%c",&str[i]);
        if(str[i]=='\n'||str[i]==' ')
        break;
        else n++;
    }
//输入车牌号并计算已经输入了几位数,若n>5则输入超过5位数为非法输入
    i=0;
    while(str[i]!='\n')
    {
        if((str[i]<='Z'&&str[i]>='A')||(str[i]>='0'&&str[i]<='9')||str[i]=='\n')
        flag=0;
        else {flag=1;break;}//一旦出现了非法输入的字符则跳出循环
        if(str[i]>='0'&&str[i]<='9')
        number++;//统计输入车牌号中的数字数量若number==0则为非法输入
        i++;
    }
    if(n>5||number==0||flag==1)
    printf("非法输入");
    else if((str[4]-'0')%2==1)//判断第五位字符是奇数还是偶数
    printf("限行");
    else 
    printf("通行");
    return 0;
}

img


n没有初始化