C语言合法标识符
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 58591 Accepted Submission(s): 23117
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
思路:了解什么是标识符的都能够搞定。
代码:
/*=============================AC情况===============================*/
/*题目网址: */
/*时间: */
/*心得: */
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define G 100
int main() {
int n,l,pan;
char wqs[G];
scanf("%d",&n);
getchar();
while(n--) {
pan=1;
gets(wqs);
if(wqs[0]<'A')
pan=0;
if(wqs[0]>'Z'&&wqs[0]<'a'&&(wqs[0]!='_'))
pan=0;
if(pan) {
l=strlen(wqs);
for(int j=0; j<l; j++) {
if(wqs[j]<'0') {
pan=0;
break;
}
if(wqs[j]>'9'&&wqs[j]<'A') {
pan=0;
break;
}
if(wqs[j]>'Z'&&wqs[j]<'a'&&(wqs[j]!='_')) {
pan=0;
break;
}
if(wqs[j]>'z') {
pan=0;
break;
}
}
}
if(pan)
printf("yes\n");
else
printf("no\n");
}
return 0;
}
/*********************************测试数据*********************************
**************************************************************************/