题目大意:给出n,及n行字符串(有空格),求每行字符串中“u”、“ur”、是否包含“lol”,及“should of”、”would of“的个数
解题思路:1.注意整数之后输入字符串;2.注意字符数组变成字符串要手动在末尾加上'\0',否则字符串不会结束。
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <queue>
#include <string>
#include <map>
#include <stack>
#include <list>
#include <set>
using namespace std;
const int maxn = 1e3+100;
char str[maxn],s[maxn];
int main()
{
int t,len,l,ans,flag;
scanf("%d%*c",&t);
while(t--)
{
gets(str);
len = strlen(str);
str[len] = ' ';
len++;
l = 0;
ans = 0;
flag = 0;
for(int i = 0; i < len; i++)
{
if(str[i] == ' ')
{
s[l] = '\0';//很重要,,标志字符串s结束
if(strcmp(s,"u")==0 || strcmp(s,"ur")==0) ans++;
if(strstr(s,"lol")) ans++;
if(flag && strcmp(s,"of")==0) ans++;
if(strcmp(s,"would")==0 || strcmp(s,"should")==0) flag = 1;
else flag = 0;
l = 0;
}
else s[l++] = str[i];
}
printf("%d\n",ans*10);
}
return 0;
}