题目链接
第一种方法:(存单词)
易错:
if(a[i]!=' '&&a[i]!=','&&a[i]!='.'&&a[i]!='!')
中间是“&&”
#include<bits/stdc++.h>
using namespace std;
int main()
{ char b[202];
char a[202];
while(gets(a)!=NULL)
{
int i,len,j,f;
len=strlen(a);
if(a[len-1]=='?')
{
printf("7\n");
continue;
}
j=0;f=1;
for(i=0; i<len; i++)
{
if(a[i]!=' '&&a[i]!=','&&a[i]!='.'&&a[i]!='!')
{
b[j++]=a[i];
}
else
{
b[j]='\0';
if(strcmp(b,"Sussu")==0)
{
printf("AI SUSSU!\n");
f=0;
break;
}
j=0;
}
}
if(f==1)
printf("O cara é bom!\n");
}
return 0;
}
第二种方法:
巧妙分类:
if((s[i-1]==' '||i==0)&&s[i]=='S'&&s[i+1]=='u'&&s[i+2]=='s'&&s[i+3]=='s'&&s[i+4]=='u'&&(s[i+5]==' '||s[i+5]==','||s[i+5]=='.'||s[i+5]=='!'))
易错:
if(s[len-1]=='?')
f=1;
else
可别忘了这个else
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char s[202];
while(gets(s)!=NULL)
{
int len,i,f;
f=0;
len=strlen(s);
if(s[len-1]=='?')
f=1;
else
{
for(i=0; i<len; i++)
{
if((s[i-1]==' '||i==0)&&s[i]=='S'&&s[i+1]=='u'&&s[i+2]=='s'&&s[i+3]=='s'&&s[i+4]=='u'&&(s[i+5]==' '||s[i+5]==','||s[i+5]=='.'||s[i+5]=='!'))
f=2;
}
}
if(f==0)
printf("O cara é bom!\n");
else if(f==1)
printf("7\n");
else if(f==2)
printf("AI SUSSU!\n");
}
return 0;
}