HDOJ 2024 C语言合法标识符

来源:互联网 发布:打色子软件 编辑:程序博客网 时间:2024/06/06 04:51

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
312ajffi8x_aff ai_2
 

Sample Output
noyesno
 

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 100int 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;}/*********************************测试数据***********************************************************************************************************/




 

0 0