题目描述
输入一个字符串,判断其是否是C的合法标识符。C语言中规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
输入
输入一个长度不超过50的字符串。
输出
如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
样例输入 Copy
8fixafghgjhjhjyuyuyyuyuyu
样例输出 Copy
no
#include <stdio.h>
int main()
{
char ch[50];
int i,t; //用t记录不合要求的字母数量
i=t=0;
gets(ch); //把字符串读入数组
if(ch[0]>='0' && ch[0]<='9')//先判断首字母是否为数字
t++;
for(i=0;ch[i]!='\0';i++) //判断元素是否为字母、数字和下划线
{
if((ch[i]>='0' && ch[i]<='9')||(ch[i]>='a' && ch[0]<='z')||(ch[i]>='A' && ch[i]<='Z')||ch[i]=='_')
t+=0;
else
t++;
}
if(t!=0)
printf("no");
else
printf("yes");
return 0;
}