杭电acm2024

 

Problem 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()
{
  int n,m,i;char str[100];
  scanf("%d",&n);getchar();
  while(n--)
  {
    gets(str);
    m=strlen(str);
    if(str[0]<'0'||str[0]>'9')
    {
      for(i=0;i<m;i++)
      {
        if(str[i]!='_'&&(str[i]<'0'||str[i]>'9')&&(str[i]<'a'||str[i]>'z')&&(str[i]<'A'||str[i]>'Z'))
          {printf("no\n");break;}
      }
      if(i==m)printf("yes\n");
     }
    else printf("no\n");
  }
}

posted @ 2013-03-26 20:43  《 》  阅读(175)  评论(0编辑  收藏  举报