题目描述:
Problem #2974 - ECNU Online Judgehttps://acm.ecnu.edu.cn/problem/2974/
有个小坑:在比对之前要全部转小写...别的没啥问题
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
bool isValid(char *s){
bool flag=true;
if(!strcmp(s,"the") || !strcmp(s,"a") || !strcmp(s,"an") || !strcmp(s,"of") || !strcmp(s,"for") || !strcmp(s,"and")){
flag=false;
}
return flag;
}
void toLow(char *s){
int i=0;
while(s[i]!='\0'){
if(s[i]>='A' && s[i]<='Z'){
s[i]=s[i]+'a'-'A';
}
i++;
}
}
int main(){
int T,sum;
cin>>T;
getchar();
char word[105];
char ch;
for(int t=0;t<T;t++){
sum=0;
int i=0;
while(scanf("%c",&ch)!=EOF && ch!='\n'){
if(ch!=' '){
word[i]=ch;
i++;
}else{
word[i]='\0';
i=0;
toLow(word);
if(isValid(word)) sum++;
}
}
word[i]='\0';
toLow(word);
if(isValid(word)) sum++;
printf("case #%d:\n",t);
cout<<sum;
if(t!=T-1){
cout<<endl;
}
}
}