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

HDOJ 2024 C语言合法标识符(水)

2015-08-07 11:03 411 查看

C语言合法标识符

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

Total Submission(s): 46619 Accepted Submission(s): 18771



[align=left]Problem Description[/align]
输入一个字符串,判断其是否是C的合法标识符。

[align=left]Input[/align]
输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。

[align=left]Output[/align]
对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。

[align=left]Sample Input[/align]

3
12ajf
fi8x_a
ff  ai_2


[align=left]Sample Output[/align]

no
yes
no


[align=left]Author[/align]
lcy

[align=left]Source[/align]
C语言程序设计练习(四)

[align=left]Recommend[/align]
lcy | We have carefully selected several similar problems for you: 2025 2022 2020 2016 2026



注意事项:

1、首字符是字母或下划线,只能

2、其余字符为字母或下划线或数字,只能


3.不能输入一串连续字符串,会被中间的空格截断,只能一个一个数,到回车键为止。

4.判断错误后,还不能 break; 或者是 continue; ,因为要输入完一行字符!!!!!否则剩下的就算到下一行字符里去了!!!




0MS AC:先判断首字符,剩下的字符写个循环


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