C语言实验——合法的C标识符
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
给出一个标识符,请你判断它是否是C语言合法的标识符。
Input
输入一个标识符,长度不超过100。
Output
判断是否合法,如果是输出YES,否则输出NO。
Sample Input
123You
Sample Output
NO
Hint
C语言规定:标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
Source
#include <stdio.h>
#include <string.h>
int main()
{
char s[110];
int i, flag = 0;
gets(s);
for(i = 0; i <= strlen(s) - 1; i++)
{
if(i == 0)
{
if((s[i] >= 'a' && s[i] <= 'z')||(s[i] >= 'A' && s[i] <= 'Z')||(s[i] == '_'))
{
flag = 1;
}
}
else
{
if((s[i] >= 'a' && s[i] <= 'z')||(s[i] >= 'A' && s[i] <= 'Z')||(s[i] == '_')||(s[i] >= '0' && s[i] <= '9'));
else
break;
}
}
if(flag == 1 && i == strlen(s) )
printf("YES");
else
printf("NO");
return 0;
}