它合法吗?
时间限制:1000 ms | 内存限制:65535 KB
难度:0
-
描述
- 刚学过c语言标识符的命名规则(现在不会的童靴不许在看书了哦),那么给你一个标识符,你能让计算机判断它是合法的吗?(为了简单,咱们规定标识符可以和关键字重名)
-
输入
- 有多组测试数据
每组测试数据包含一个标识符(长度不超过10)
输出 - 每组输出占一行
如果标识符合法,输出Yes,否则输出No
样例输入 -
krun break 456j a&b
样例输出 -
Yes Yes No
No
-
总是出错,所以我保存了下来
-
//nyoj816 #include <iostream> #include <cstdio> using namespace std; int main() { int i, flag; char s[15]; while(~scanf("%s", s)) { if(!((s[0] >= 'a' && s[0] <= 'z') || s[0] == '_' || (s[0] >= 'A' && s[0] <= 'Z'))) { printf("No\n"); } else { flag = 1; for(i = 1; s[i]; i++) { if(!((s[i] >= 'a' && s[i] <= 'z') || s[i] == '_' || (s[i] >= 'A' && s[i] <= 'Z') || (s[i] >= '0' && s[i] <= '9'))) { flag = 0; break ; } } if(flag == 0) { printf("No\n"); } else { printf("Yes\n"); } } } return 0; }
- 有多组测试数据