Description 输入一个字符串,判断其是否是C的合法标识符。 Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。 Output 对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。 Sample Input 3 12ajf fi8x_a ff ai_2 Sample Output no yes no HINT Source
代码如下:
#include"stdio.h" int main() { int n; scanf("%d",&n); getchar(); while (n--) { char a[51]; int k,i=0,b=0; for (i=0; i<51; i++) { scanf("%c",&a[i]); if (a[i]=='\n') { k=i; break; } } if ((a[0]>=65 && a[0]<=90) || a[0]==95 || (a[0]>=97 && a[0]<=122)) { for (i=0; i<k; i++) { if ((a[i]>=65 && a[i]<=90) || a[i]==95 || (a[i]>=97 && a[i]<=122) || (a[i]>=48 && a[i]<=57)) b++; else break; } } if (b==k) printf("yes\n"); else printf("no\n"); } return 0; }
运行结果:
学习心得:
继续在用C语言答题,C在写的时候虽然比C++繁琐,但是不知道为何我却更感觉自己喜欢用C;
标识符我大致明白是什么。但是标准格式我还真不清楚,只好百度,
标识符由字母、下划线、数字这三个方面组成,但开头必须是字母或下划线。
然后就AC了,虽然有借鉴别人的代码,好在又学到了一手。
时间: 2024-10-31 05:33:55