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