原题:


Problem Description

输入一个字符串,判断其是否是C的合法标识符。


Input

输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。


Output

对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。


Sample Input

3
12ajf
fi8x_a
ff  ai_2


Sample Output

no
yes
no


原码:

[cpp] view plain copy print ?
  1. #include

  2. #include

  3. int main()  

  4. {  

  5. int n, d, i;  

  6. char sym[64];  

  7.    scanf("%d%*c", &n);  

  8. while (n--)  

  9.    {  

  10.        gets(sym);  

  11. if (sym[0] != '_' && !isalpha(sym[0]))  

  12.        {  

  13.            puts("no");  

  14. continue;  

  15.        }  

  16. for (d = i = 1 ; sym[i] ; i++)  

  17.        {  

  18. if (!isalnum(sym[i]) && sym[i] != '_')  

  19.            {  

  20.                d = 0;  

  21. break;  

  22.            }  

  23.        }  

  24.        puts(d ? "yes" : "no");  

  25.    }  

  26. return 0;  

  27. }