您的位置:首页 > 编程语言 > C语言/C++

HDOJ 2024 C语言合法标识符

2016-06-11 11:24 330 查看


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

C语言程序设计练习(四)

 

Recommend

lcy   |   We have carefully selected several similar problems for you:  2023 2015 2032 2028 2043 

思路:了解什么是标识符的都能够搞定。

代码:

/*=============================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;
}

/*********************************测试数据*********************************

**************************************************************************/


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: