c语言合法标识符

C语言合法标识符

Time Limit: 1000MS Memory Limit: 65536KB

Problem Description

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

Input

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

Output

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

Example Input

3
12ajf
fi8x_a
ff  ai_2

Example Output

no
yes
no
 
  
 
  
key:
 
  
#include <stdio.h>
int main() {     int i, flag, n, j;     char st[51];     scanf("%d", &n);     getchar();     for(j = 0; j < n; j++)     {         gets(st);         flag = 1;         for(i = 0; st[i] != '\0'; i++)     {         if(st[0] != '_')         {             if(!((st[0] >= 'A' && st[0] <= 'Z') || (st[0] <= 'z' && st[0] >= 'a')))             {                 flag = 0;                 break;             }         }         if((st[i] != '_' && !(st[i] >= '0' && st[i] <= '9') && !(st[i] >= 'A' && st[i] <= 'Z') && !(st[i] <= 'z' && st[i] >= 'a')))         {             flag = 0;             break;         }     }     if(flag)         printf("yes\n");     else         printf("no\n");     }     return 0; }

猜你喜欢

转载自blog.csdn.net/strongerXiao/article/details/78914100