gets的用法:
char a[50];
gets(a);
cout<<a<<endl;
/*
输入一个字符串,判断其是否是C的合法标识符。
输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。
对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
此题的关键在于抓住命名的规则:
1.首元素只能是下划线或是字母
2.除首元素外的元素只能是数字,下划线和字母。
先判断输入字符的首元素是否符合规则,然后再判断其他的元素,要注意的是因为输入的是字符串,所以判断元素是否是数字时食欲字符数字判断。
*/
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
const int N=100;
char data[N];
int n,len,b;
int main()
{
cin>>n;
getchar(); //一定要使用getchar吸收到一个回车
for(int i=1;i<=n;i++)
{
gets(data);
len = strlen(data);
if(data[0]=='_'||(data[0]>='A'&&data[0]<='Z')||(data[0]>='a'&&data[0]<='z'))
{
for(b=1;b<len;b++)
{
if(data[b]=='_'||(data[b]>='A'&&data[b]<='Z')||(data[b]>='a'&&data[b]<='z')||(data[b]>='0'&&data[b]<='9'))
continue;
else
break;
}
if(b==len)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
else
cout<<"no"<<endl;
}
return 0;
}