hdu 2024 C语言合法标识符

http://acm.hdu.edu.cn/showproblem.php?pid=2024

这是大一的时候做的,今天做了一次忽然wa气死我  ,不过仔细看看还是一定小问题的,原因是因为没有%*c去除了字符垃圾的符号。。。。不过最好还是a了,合法的标识符,是字母或下划线开头,后面的只由数字,字母,下划线组成。。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main()

{

    int n,i;

    char a[60];

    scanf("%d%*c",&n);

    while(n--)

    {

              gets(a);

              int k=strlen(a),flag=0;

              if(a[0]>='0'&&a[0]<='9')

              {

                     puts("no");

                     flag=1;

              }

              if(flag==0)

              for(i=1;i<k;++i)

              {

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

                   continue;

                   else

                   {

                     flag=1; break;

                   }

              }

              if(flag) puts("no");

              else

              puts("yes");

    }

    return 0;

}

原文地址:https://www.cnblogs.com/yuelingzhi/p/2125573.html