题目连接(请点击)
思路:用string定义字符串s,先检查字符串第一个元素s[0]是否为字母或下划线,若是,然后在检查字符串的每一个元素是否为字母或数字或下划线。
注意:
1 用isalpha()与isalnum()来判断是否为字母与是否为字母或者数字,这两个函数包含在头文件cctype里面。
2 若字符串s中有空格则不合法,但是cin读入会默认空格结束,因此会认为其合法,所以这里应当用能够读入空格的getline。
#include<iostream>
#include<string>
#include<cctype>
using namespace std;
int main()
{
int T;
cin>>T;
getchar();
while(T--)
{
string s;
getline(cin,s);
if(isalpha(s[0])||s[0]=='_')
{
int flag=0;
for(int i=1;i<s.length();i++)
{
if(isalnum(s[i])||s[i]=='_')
continue;
else
{
flag=1;
break;
}
}
if(!flag) cout<<"yes"<<endl;
else cout<<"no"<<endl;
}
else cout<<"no"<<endl;
}
return 0;
}