题意:就是遇到这些字符的话愤怒值就+1;然后将愤怒值*10.注意的话就是先将每一段单词进行截取。
然后LOL的话无论出现多少次都只算一次(坑点)
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
char tstr[100][100];
int main()
{
int t;
scanf("%d",&t);
getchar();
while(t--)
{
char str[1000];
char ss[100];
gets(str);
int len = strlen(str);
int i,j=0,k=0,flag=1;
for(i=0;i<len;i++)
{
if(str[i]==' ')
continue;
while(i<len)
{
tstr[j][k]=str[i];
//cout<<str[i];
k++;
i++;
if(i>=len||str[i]==' ')
{
break;
}
}
tstr[j][k]='\0';
j++;
k=0;
}
// for(i=0;i<j;i++)cout<<tstr[i]<<endl;
int size = j;
int ans = 0;
for(i=0;i<size;i++)
{
if(strcmp(tstr[i],"u")==0||strcmp(tstr[i],"ur")==0)
{
ans++;
}
else if(strcmp(tstr[i],"should")==0&&i+1<size&&strcmp(tstr[i+1],"of")==0)
{
ans++;
}
else if(strcmp(tstr[i],"would")==0&&i+1<size&&strcmp(tstr[i+1],"of")==0)
{
ans++;
}
}
// cout<<tstr[0]<<endl;
for(i=0;i<size;i++)
{
int len = strlen(tstr[i]);
for(j=0;j<len-2;j++)
{
if(tstr[i][j]=='l'&&tstr[i][j+1]=='o'&&tstr[i][j+2]=='l')
{
ans++;
break;
}
}
}
printf("%d\n",ans*10);
}
return 0;
}