タイトル説明
文字列を入力して、それがCの正当な識別子であるかどうかを判別します。
入る
50文字以内の文字列を入力してください。
出力
入力データがCの正当な識別子である場合は「yes」を出力し、そうでない場合は「no」を出力します。
サンプル入力
8fixafghgjhjhjyuyuyyuyuyu
サンプル入力
no
サンプル出力
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//字母1,数字2,下划线3
int panduan(char a)//合法
{
int ret=-1;
if(a>='a'&&a<='z')
ret=1;
else if(a>='A'&&a<='Z')
ret=1;
else if(a>='0'&&a<='9')
ret=2;
else if(a=='_')
ret=3;
return ret;
}
int main()
{
char a[100];
int i,m;
gets(a);
m=strlen(a);
if(panduan(a[0])==1||panduan(a[0])==3)//对
{
for(i=1;i<m;i++)
{
if(panduan(a[i])==-1)
{
printf("no");
return 0;
}
}
printf("yes");
}
else
{
printf("no");
}
return 0;
}