站点图标 陌路寒暄

C语言实验——合法的C标识符

C语言实验——合法的C标识符

时间: 1ms        内存:64M

描述:

给出一个标识符,请你判断它是否是C语言合法的标识符。

输入:

输入一个标识符。

输出:

判断是否合法,如果是输出YES,否则输出NO。

示例输入:

123You

示例输出:

NO

提示:

参考答案(内存最优[748]):

#include<stdio.h>
#include<string.h>
int main()
{       
	int i,flag=1; 
	char c[100]; 
	scanf("%s",c); 
	if(c[0]>='0'&&c[0]<='9') 
		flag=0; 
	else 
		for(i=0;c[i];i++) 
			if(!(c[i]>='a'&&c[i]<='z'||c[i]>='A'&&c[i]<='Z' ||c[i]>='0'&&c[i]<='9'||c[i]=='_')) 
			{ 
				flag=0;         
				break; 
			} 
			if(flag) 
				printf("YES\n"); 
			else printf("NO\n");
}

参考答案(时间最优[0]):

#include<stdio.h> 
#include<string.h> 
int main() 
{ 
    char a[1000]; 
    int i,j,k; 
    gets(a); 
    k=strlen(a); 
    for(i=0; i<k; i++) 
    { 
        if('a'<=a[0]&&a[0]<='z'||'A'<=a[0]&&a[0]<'Z'||a[0]=='_') 
            ; 
        else
        { 
            printf("NO"); 
            break; 
        } 
        if('a'<=a[i]&&a[i]<='z'||'A'<=a[i]&&a[i]<'Z'||a[i]=='_'||47<a[i]&&a[i]<58) 
            ; 
        else
        { 
            printf("NO"); 
            break; 
        } 
    } 
    if(i==k) 
        printf("YES"); 
    return 0; 
} 

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

退出移动版