Cè¯è¨åæ³æ è¯ç¬¦ç±æ°åï¼åæ¯ï¼ä¸å线ç»æã
ä¸ç¬¬ä¸ä¸ªåæ¯ä¸è½ä¸ºæ°åã
äºæ¯ï¼æ ¹æ®å
¶å®ä¹ï¼å¯ä»¥è¿è¡å¤æï¼ä»£ç å¦ä¸ï¼
#define is_upper(x) (x>='A' && x<='Z')//大ååæ¯å¤æã
#define is_lower(x) (x>='a' && x<='z')//å°ååæ¯å¤æã
#define is_char(x) (is_upper(x) || is_lower(x)) //åæ¯å¤æã
#define is_num(x) (x>='0' && x<='9')//æ°åå¤æã
#define is_down_link(x) (x == '_')//ä¸å线å¤æã
int check_first_char(char x)//å¤æ第ä¸ä¸ªå符æ¯å¦åæ³ã
{
return is_char(x) || is_down_link(x);//å½ä¸ºåæ¯æä¸å线æ¶åæ³ã
}
int check_other_char(char x)//å¤æå
¶å®å符æ¯å¦åæ³ã
{
return is_char(x) || is_down_link(x) || is_num(x);//å½ä¸ºæ°åï¼åæ¯æä¸å线æ¶åæ³ã
}
int check(char *str)//å¤ææ è¯ç¬¦stræ¯å¦åæ³ï¼å¦æåæ³è¿å1ï¼å¦åè¿ååã
{
int i;
if(check_first_char(str[0]) == 0) return 0;//æ£æ¥ç¬¬ä¸å符ã
for(i = 1; str[i]; i ++)
if(check_other_char(str[i]) == 0) return 0; //æ£æ¥å
¶å®å符ã
return 1;
}
int main()
{
char id[200];
scanf("%s",id);//读å
¥æ è¯ç¬¦ã
if(check(id)) //è¿è¡å¤æ并è¾åºç»æã
printf("æ è¯ç¬¦åæ³\n");
else printf("æ è¯ç¬¦éæ³\n");
}