HDU 2024 C语言合法标识符

来源:互联网 发布:虚拟现实制作软件 编辑:程序博客网 时间:2024/06/07 01:52

Description
输入一个字符串,判断其是否是C的合法标识符。
Input
输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。
Output
对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出”yes”,否则,输出“no”。
Sample Input
3
12ajf
fi8x_a
ff ai_2
Sample Output
no
yes
no

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

首先要知道C语言合法标识符的定义,即标识符由字母、下划线、数字这三个方面组成,但开头必须是字母或下划线。另外,关键字不能是标识符。知道这些,使用if选择语句加上逻辑运算符将符合条件一一筛选即可;
string.h库中含有一些基本的函数,比如:这里写图片描述
可能我记得笔记你们看的不是特别明白,但这些函数在各个资料中都可以找到。

0 0
原创粉丝点击