C语言合法标识符

Description

输入一个字符串,判断其是否是C的合法标识符。

Input

输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。

Output

对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。

Sample Input


 

3 12ajf fi8x_a ff ai_2

Sample Output


 

no yes no

#include<iostream>
#include<cstring>
using namespace std;

bool isnum(char ch)
{
	if (ch>='0' && ch<='9')
	return true;
	
	return false;
}

bool iszimu(char ch)
{
	if (   (ch>='A'&&ch<='Z')  ||  (ch>='a'&&ch<='z')   )
	return true;
	
	return false;
}

int main()
{
	char a[1000+10];
	int n,m,j,k,i,T;
	cin>>T;
	getchar();
	while (T--)
	{
		bool flag = true;
		gets(a);
		int len=strlen(a);
		if (a[0]!='_' && !iszimu(a[0]))
		flag = false;
		
		for (i=1;i<len;i++)
		{
			if (  !iszimu(a[i]) && !isnum(a[i] )   && a[i]!='_' )
			flag = false;
		}
		
		if (flag == true)
		cout<<"yes"<<endl;
		else
		cout<<"no"<<endl;
	}
	
	
	return 0;
}
原文地址:https://www.cnblogs.com/Romantic-Chopin/p/12451235.html