HDU 2024 C语言合法标识符

C语言合法标识符

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 27075    Accepted Submission(s): 10855


Problem Description

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

 

 

Input

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

 

 

Output

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

 

 

Sample Input

3

12ajf

fi8x_a

ff  ai_2

 

代码如下:

 

 

#include<iostream>

#include<stdio.h>

#include<string>

using namespace std;

 

int main()

{

         int n;

         cin>>n;

         getchar();//对于这样的输入,enter健会有一个输入,、。注意啦

         while(n--)

         {

                   int len0;

                   int len1=0;

                   char str[51];

                   gets(str);

                   len0=strlen(str);

                   if('0'<=str[0]&&str[0]<='9')

                   {

                            cout<<"no"<<endl;

                   }

                   else

                   {

                            for(int i=0; str[i]; i++)

                            {

                                     if('a'<=str[i]&&str[i]<='z'||'A'<=str[i]&&str[i]<='Z'||'0'<=str[i]&&str[i]<='9'||str[i]=='_')

                                     {

                                               len1++;

                                     }

                           

                            }

                            if(len1==len0)

                                     cout<<"yes"<<endl;

                            else

                                     cout<<"no"<<endl;

                   }

                  

         }

         return 0;

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值