C语言合法标识

判断合法标识符

题目描述

题目很简单: 输入一个字符串,判断其是否是C的合法标识符。

输入

输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过100的字符串。

输出

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

样例输入

3
nyojacm
12hduacm
poj#acm

样例输出

yes
no
no

提示

友情提示:标识符由字母、下划线、数字这三个方面组成,但开头必须是字母或下划线。另外,关键字不能是标识符


#include<stdio.h>
#include<string.h>
int main()
{
    int t,i;
    char s[110];
    scanf("%d ",&t);
    while(t--){
       gets(s);
        int len=strlen(s);
        if(s[0]>='a' && s[0]<='z' || s[0]>='A' && s[0]<='Z' || s[0]=='_'){
            for(i=1;i<len;i++){
                if(s[i]<'0' || (s[i]>'9' && s[i]<'A') || (s[i]>'Z' && s[i]<'a' && s[i]!='_') || s[i]>'z'){
                    printf("no\n");
                    break;
                }
            }
            if(i==len)           printf("yes\n");
        }
        else    printf("no\n");
    }
    return 0;
}


你可能感兴趣的:(C语言)