例题:追梦算法网 L1070 吃火锅
用到的就是strstr函数,这个函数就是可以str2是否为str1的子字符串(str1中是否有str2),如果是,就会返回str2在str1中首次出现的地址,如果不是就会返回null,也就是0。
上代码
#include<bits/stdc++.h>//用到了strstr(str1,str2)函数,在str1中找str2的位置
using namespace std;
int num=0,cnt=0,drt=0;
char str1[]="chi1 huo3 guo1";
char str2[1000];
int main()
{
for(int i=0;i<=100;i++){
gets(str2);
if(str2[0]=='.'&&strlen(str2)==1){//我的问题就出现在我的最后截至输入的条件判断出了问题
break; //不可以写成str2=="."这样是没有办法截至输入的
}else{
num++;
if(strstr(str2,str1)!=0){//运用到了strstr函数
cnt++;
if(cnt==1){
drt=num;
}
}
}
}
if(cnt!=0){
printf("%d\n%d %d",num,drt,cnt);
}else{
printf("%d\n-_-#",num);
}
return 0;
}