我们每天都面临着要学习大量的英文单词,但我最喜欢good这个词,这个词见到的越多,我的生活就越幸福和愉快!给你一些英文单词,你能统计出good有多少个吗?
input
输入数据的第1行一个N(1 < N < 100),代表输入的数据组数,然后有N行,每行有很多个单词,单词之间用空格隔开;每行的长度不超过100.
output
对于每行数据,输出其中含 good 单词的个数。
输入输出说明:
input 2 i am a good boy! goof good good dood good output 1 3
方法一:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int i,j,n,k,m,h,q; char a[101][101],t[101][101],b[1][101]={"good"}; while(~scanf("%d",&n)){ getchar(); getchar(); m=0;h=0;q=0; for(i=0;i<n;i++){ gets(a[i]); k=strlen(a[i]); for(j=0;j<k;j++){ if(a[i][j]!=' '){ t[m][q]=a[i][j]; q++; } else{ t[m][q]=0; m++;q=0; } } } for(i=0;i<=m;i++){ if(strcmp(t[i],b[0])==0){ h++; } } printf("%d\n",h); } return 0; }
方法二:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char a[100]; int n,i,j,m; while(scanf("%d",&n)!=-1){ getchar(); getchar(); for(i=0;i<n;i++){ m=0; gets(a); for(i=0;i<strlen(a);i++){ if(a[i]=='g'&&a[i+1]=='o'&&a[i+2]=='o'&&a[i+3]=='d'){ m++; i=i+4; } } printf("%d\n",m); } } return 0; }