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 <stdlib.h>
#include <string.h>
int main()
{
int i;
char a[101];
gets(a);
if((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z')||a[0]=='_')
{
for(i=1; a[i]!='\0'; i++)
{
if((a[i]>='0'&&a[i]<='9')||(a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')||a[i]=='_')
continue; //如果满足上式,继续循环,也可以不做任何处理;
else break;
}
if(a[i]!='\0')
printf("NO\n");
else printf("YES\n");
}
else printf("NO\n");
return 0;
}
运行结果:
123You
NO
Process returned 0 (0x0) execution time : 4.503 s
Press any key to continue.