1138: C语言合法标识符
题目描述
输入一个字符串,判断其是否是C的合法标识符。C语言中规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
输入
输入一个长度不超过50的字符串。
输出
如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
样例输入 Copy
8fixafghgjhjhjyuyuyyuyuyu
样例输出 Copy
no
来源/分类
#include<stdio.h>
#include<math.h>
#define N 55
/*
合法标识符
字母,数字,下划线3种字符组成,且第一个字符必须为字母或下划线。
*/
int right(char ch){
int a=0;
if(ch>='0'&&ch<='9') a=1;
if(ch>='a'&&ch<='z') a=1;
if(ch>='A'&&ch<='Z') a=1;
if(ch=='_') a=1;
return a;
}
int main(){
char s[N];
int a=1;
gets(s);
//第一个是数字直接排除
if(s[0]>='0'&&s[0]<='9') a=0;
//接着从第一个开始判断是否合法
for(int i=0;s[i]!='\0';i++){
if(right(s[i])==0) {
a=0;
break;
}
}
if(a==0) printf("no\n");
else printf("yes\n");
return 0;
}