C語言合法標識符
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 44597 Accepted Submission(s): 17933
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
#include
#include
main()
{int a,i,j,b;
char s[100];
scanf("%d",&b);
getchar();
while(b--)
{a=1;
gets(s);
if(((s[0]<'a'&&s[0]>'Z')&&(s[0]!='_'))||s[0]<'A'||s[0]>'z')
{
printf("no\n");
continue;
}
j=strlen(s);
for(i=1;i if((s[i]>='a'&&s[i]<='z')||(s[i]>='0'&&s[i]<='9')||(s[i]>='A'&&s[i]<='Z')||(s[i]=='_'))
a++;
if(a==j)
printf("yes\n");
else
printf("no\n");
}
return 0;
}