c C语言合法标识符

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 issign(char a[]);

void main()
{
    int i=0,n;
    char str[100];
	scanf("%d",&n);
	getchar();
    while(n--){
		gets(str);
        if(issign(str)){
          printf("yes\n");
        }else{
          printf("no\n");
        }
	}
}

int issign(char a[]){
      int i;
      for(i=0;i<strlen(a);i++){//判字符是否符合规则
          if(a[0]>='0'&&a[0]<='9'){
              break;
          }
          if(a[i]>='a'&&a[i]<='z'){
              continue;
          }else if(a[i]>='A'&&a[i]<='Z'){
              continue;
          }else if(a[i]=='_'){
              continue;
          }else if(a[i]>='0'&&a[i]<='9'){
              continue;
          }else {
              break;
          }
      }
      if(i==(strlen(a))){
          return 1;
      }else{
          return 0;
      }
}



猜你喜欢

转载自blog.csdn.net/qq_40811682/article/details/88313917