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

【杭电oj2024】C语言合法标识符

2016-08-14 22:50 453 查看


C语言合法标识符

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 59872 Accepted Submission(s): 23694



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: 2072 2054 1020 2044 1982

Statistic | Submit | Discuss | Note

c语言合法标识符包括字母、数字和下划线,且开头必须是字母或下划线。大小写字母都可以。

#include<stdio.h>
#include<string.h>
int main() {
char a[100],c;
int n;
scanf("%d",&n);
getchar();
for(int i=0; i<n; i++) {
int k=0;
gets(a);
if(a[0]<'A'||a[0]>'Z'&&a[0]<'_'||a[0]>'_'&&a[0]<'a'||a[0]>'z')
printf("no\n");
else {
for(int j=0; j<strlen(a); j++) {
if(a[j]>='0'&&a[j]<='9'||a[j]>='A'&&a[j]<='Z'||a[j]=='_'||a[j]>='a'&&a[j]<='z')
k++;
else
break;
}
if(k==strlen(a))
printf("yes\n");
else
printf("no\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  入门