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
{
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了,虽然有借鉴别人的代码,好在又学到了一手。