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

HDJ2024C语言合法标识符

2015-07-20 21:13 260 查看

C语言合法标识符

 
[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  /*
标示符为字母,数字,下划线,开头必须时字母或者是下划线,否则不合格
直接上代码
*/

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