rt
一道水题:输入n个字符串,对其进行判断。判断函数没有错误,但会神奇的少输入一个字符串。 并且在n为1时会直接输出,不读入字符串。
#include<bits/stdc++.h>
using namespace std;
string bl[11]={"include","using","namespace","return","main","int","float","double","string","char"};
void pd(string str) {
if(!(str[0]=='_'||((str[0]>='a'&&str[0]<='z')||(str[0]>='A'&&str[0]<='Z')))) {
cout<<"No\n";
return ;
}
bool flag=0;
for(int i=0;i<str.size();i++) {
if(!(str[i]=='_'||((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))||(str[i]>='0'&&str[i]<='9'))) {
flag=1;
cout<<"No\n";
break;
}
}
if(flag) return ;
for(int i=0;i<10;i++) {
if(str.find(bl[i])!=-1) {
flag=1;
cout<<"No\n";
break;
}
}
if(flag) return ;
cout<<"Yes\n";
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
while(n--) {
string str;
getline(cin,str);
pd(str);
}
return 0;
}
如上