首页 > ACM题库 > HDU-杭电 > hdu 2024 C语言合法标识符[解题报告]C++
2013
12-26

hdu 2024 C语言合法标识符[解题报告]C++

C语言合法标识符

问题描述 :

输入一个字符串,判断其是否是C的合法标识符。

输入:

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

输出:

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

样例输入:

3
12ajf
fi8x_a
ff  ai_2

样例输出:

no
yes
no

#include"iostream"
using namespace std;
int main()
{
    int n;
    char ch[1000];
    int i;
    scanf("%d\n",&n); // cin>>n;cout<<endl;
    while(n--)
    {
       gets(ch);
       int count=0;
           if(!(ch[0]>='a'&&ch[0]<='z')&&ch[0]!='_'&&!(ch[0]>='A'&&ch[0]<='Z'))  count=1;
        else
        {
         for(i=0;i<strlen(ch);i++)
         {
            if(!(ch[i]>='a'&&ch[i]<='z')&&!(ch[i]>='0'&&ch[i]<='9')&&ch[i]!='_'&&!(ch[i]>='A'&&ch[i]<='Z'))
            {
                count=1; break;
            }
         }
        }
    
           if(count==0) cout<<"yes"<<endl;
              else cout<<"no"<<endl;
    }
    return 0;
}

http://acm.hdu.edu.cn/showproblem.php?pid=2024 (基础知识)

标识符:字母,数字和下划线组成,以字母或下划线开头

解题转自:http://www.cnblogs.com/FCWORLD/archive/2011/03/26/1996521.html