【早起一水】 HDU 2024 C语言合法标识符

来源:互联网 发布:网络女主播福利视频 编辑:程序博客网 时间:2024/05/17 21:32

HDU 2024 C语言合法标识符

输入一串字符判断是否为"C语言合法标识符"

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2024

刚开始写的时候忘记了“关键字”导致错了N次

#include<stdio.h>#include<string.h>char *keywords[32]={"auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int", "long","register","return","short","signed","sizeof","static","struct","switch","typedef","union","unsigned","void","volatile","while"};int main(){   int k,i,tag;   char a[100];   scanf("%d",&k);   getchar();   while(k--){      gets(a);      tag=1;      if(strlen(a)==0) tag=0;      if( !((a[0]>='a' && a[0]<='z')||(a[0]>='A'&&a[0]<='Z')|| a[0]=='_') ) tag=0;      for( i=0; i<32; i++){         if( strcmp(a,keywords[i])==0 ) {tag=0;break;}      }      for(i=1;i<strlen(a) ;i++)         if( !((a[i]>='a' && a[i]<='z')||(a[i]>='A'&&a[i]<='Z')|| a[i]=='_' || (a[i]>='0' && a[i]<='9')) )         {            tag=0;            break;         }      if(tag) printf("yes\n");      else printf("no\n");   }   return 0;}