C语言合法标识符
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 70633 Accepted Submission(s): 27481
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
Author
lcy
Source
Recommend
View Code
Problem : 2024 ( C语言合法标识符 ) Judge Status : Accepted
RunId : 20060068 Language : C Author : 837274600
Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta
RunId : 20060068 Language : C Author : 837274600
Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta
#include<stdio.h> #include<string.h> #include<math.h> int main() { int n; while (scanf("%d", &n) != EOF) { getchar(); while (n--) { char s[50]; int len, m = 0; gets(s); len = strlen(s); if (!(s[0] == '_' || (s[0] >= 'A' && s[0] <= 'Z') || (s[0] >= 'a' && s[0] <= 'z'))) printf("no\n"); else { for (int i = 1; i < len; i++) if (s[i] == '_' || (s[i] >= '0' && s[i] <= '9') || (s[i] >= 'A' && s[i] <= 'Z') || (s[i] >= 'a' && s[i] <= 'z')) continue; else { m = 1; break; } if (m) printf("no\n"); else printf("yes\n"); } } } return 0; }