//给出标识符判断标识符是否符合规则
#include<stdio.h>
#include<string.h>
#define N 400
bool judge(char s[]){//定义判断标识符函数
      int len=strlen(s);
   if(len<=0) return 0;//如果标识符小0直接返回false
   bool flag_1=false;//判断首字母是否符合标准
   bool flag_2=true;//判断其后字母是否符合标准,由于刚开始防止只有一个字符赋值以true
      flag_1=s[0]>=65 && s[0]<=90 ||s[0]>=97&&s[0]<=125||s[0]=='_'?true:false;
   //如果第一个首字母是在a-z或者A-Z或者_开头均合格
      int i=1;
   while(i<len){
       flag_2=s[i]>=65 && s[i]<=90 ||s[i]>=97&&s[i]<=125||s[i]=='_'||s[i]>=48&&s[i]<=58?true:false;
    i++;
   }
   return flag_1&&flag_2;//两项都成立则为真
}
int main(){
    char s[N];//存放输入的标识符
 int count=0;
 int num;
 printf("输入要输入的个数:");
 scanf("%d",&num);
    while(num>0){
 scanf("%s",s);
 if(judge(s)) count++;
 num--;
 }
 printf("合法个数是:%d\n",count);
return 0;
}