问题:C语言中的PTA的车牌限行问题
背景:没有任何的提示信息,代码能够在VS2022正常运行,我测试了几个输入都能够输出正确的答案,但是PTA中有一个没有通过,没有找到反例,也没有发现任何报错,除了可能有错误的地方在于printf的输入那块代码。
希望:各位朋友能不能提供一个不能通过的例子或者指出错误的位置,感激不尽。
以下是题目和PTA的报错信息,以及我的代码
```c
// //车牌限行
#include <stdio.h>
int main()
{
char lic[10] = { 0 };
//lic数组用来存储输入的字符
int flag = 0, i = 0, j, num = 0, odd = 0;
//flag 用来记录是否出现数字
//当flag = 1时有数字
//num 用来记录没有出现其他字符的次数
//odd 用来记录最后一个出现的数字是否为奇数
//当odd = 1时最后一个数字为奇数
for (i = 0; i < 10; i++)
{
scanf("%c", &lic[i]);
if (lic[i] == '\n')
{
break;//当输入回车时退出循环
}
}
if (lic[5] != 0&&lic[5]!=10)//ASCII码“10”代表回车,即'\n'
{
flag = 0;
}
else
{
for (j = 0; j < 5; j++)
{
if (lic[j] <= '9' && lic[j] >= '0')
{
flag = 1;
num++;
}
(lic[j] <= 'Z' && lic[j] >= 'A') ? (num++) : (j = j);
}
((lic[4] <= '9' && lic[4] >= '0') && (lic[4] % 2)) ? (odd = 1) : (j = j);
}
if (num == 5&& flag == 1)
{
(odd) ? (printf("限行")) : (printf("通行"));
}
else
{
printf("非法输入");
}
return 0;
}
```