时间限制: 1 Sec 内存限制: 128 MB
提交: 10303 解决: 4676
题目描述
输入一个字符串,判断其是否是C的合法标识符。C语言中规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
输入
输入一个长度不超过50的字符串。
输出
如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
样例输入
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
char str[1000], max;
int len, i, y;
gets(str);
len = strlen(str);
y = 0;
if (str[0] <= 'z' && str[0] >= 'a' || str[0] <= 'Z' && str[0] >= 'A' || str[0] == 95)
{
for (i = 0; i < len; i++)
{
if (isalnum(str[i]))
{
str[i] = tolower(str[i]);
}
if (str[i] <= 'z' && str[i] >= 'a' || str[i] <= '9' && str[i] >= '0' || str[i] == 95)
y = 1;
else
{
y = 0; break;
}
}
}
else
y = 0;
if (y == 0)
printf("no");
else
printf("yes");
return 0;
}
8fixafghgjhjhjyuyuyyuyuyu
样例输出
no