C语言合法标识符
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 50609 Accepted Submission(s): 20146
3 12ajf fi8x_a ff ai_2
no yesno
/*标识符由字母、下划线、数字这三个方面组成,但开头必须是字母或下划线。另外,关键字不能是标识符,如main等。这里不考虑关键字,如果要考虑的话,可以做一个关键字数组*/
#include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> using namespace std; #define MAXN 50+5 char s[MAXN]; int main() { int n; while(scanf("%d",&n)==1) { getchar(); int m=0; for(int i=0;i<n;++i) { gets(s); m=strlen(s); int count=0; if((s[0]<='z'&&s[0]>='a')||(s[0]<='Z'&&s[0]>='A')||s[0]=='_') { for(int j=1;j<m;++j) { if((s[j]<='z'&&s[j]>='a')||(s[j]<='Z'&&s[j]>='A')||(s[j]>='0'&&s[j]<='9')||s[j]=='_') count++; } s[m]='\0'; if(count==m-1) printf("yes\n"); else printf("no\n"); } else printf("no\n"); } } return 0; }