- 首先给出C语言合法标志符的要求:C语言标识符是指用来标识某个实体的一个符号,标识符可由字母(a-z,A-Z),数字(0-9),下划线(_)组成。其中首字符还有特殊的要求,即:首字符不能是数字,但可以是下划线或字母。
- 下面是题目及其输入输出格式要求:
- 解题思路
按照C语言标识符的要求,分别对输入的标识符的首位及内部各位进行判断,设置一个标志位flag,若为合法标识符,flag设置为1;否则,flag为0。
- 解决代码
#include<stdio.h> #include<string.h> int main() { int n,len; char s[50]; int flag; //标志位 while(scanf("%d\n",&n)!=EOF) { while(n--) { flag=0; gets(s); len=strlen(s); for(int i=0;i<len;i++) { if(i==0) { if(!((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z')||s[i]=='_')) { flag=1; break; } } else { if(!((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z')||s[i]=='_'||(s[i]>='0'&&s[i]<='9'))) { flag=1; break; } } } if(flag==1) printf("no\n"); else printf("yes\n"); } } return 0; }
View Code