这道题虽然很简单,但是还是想总结一下,关于字符串的输入问题,当需要输入一串字符,且中间有空格时,用gets(); 如果用string s;输入,测其长度时,遇到空格便会结束,而gets();不会。s2="";是清空语句。
代码:
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int i,n,flag;
char s[51];
cin>>n;
getchar(); //这里需注意
while(n--)
{
flag=1;
gets(s);
for(i=0; i<strlen(s); i++)
{
if(s[0]=='_'||(s[0]>='a'&&s[0]<='z')||(s[0]>='A'&&s[0]<='Z')) ;
else
{
flag=0;
break;
}
if(s[i]=='_'||(s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')||(s[i]>='0'&&s[i]<='9')) ;
else
{
flag=0;
break;
}
}
if(flag==0)
cout<<"no"<<endl;
else cout<<"yes"<<endl;
}
return 0;
}