题目描述
输入一个字符串,判断其是否是C的合法标识符。C语言中规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
输入
输入一个长度不超过50的字符串。
输出
如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
样例输入 Copy
8fixafghgjhjhjyuyuyyuyuyu
样例输出 Copy
no
#include <iostream>
#include <string.h>
#include <ctype.h>
using namespace std;
int main() {
int a = 0, b = 0, i;
char s[100];
gets(s);
if (isalpha(s[0]) || s[0] == '_') {
a = 1;
}
for (i = 1; i < strlen(s); i++) {
if (!isalnum(s[i]) && s[i] != '_') {
break;
}
}
if (i == strlen(s)) {
b = 1;
}
if (b == 1 && a == 1) {
printf("yes");
} else
printf("no");
return 0;
}