C笔记
题目:编写程序,读取一段文本(以换行作为输入的结束),然后计算某个单词或单词的一部分(几个连续的字符)(也由用户输入)出现的次数。
C
#include<stdio.h>
main(){
char a[100],word[30];
int i=0,j,na=0,nw=0,count=0,sum=0;
while((a[i] = getchar()) != '\n'){//这里括号必须加,不然赋值优先级低于逻辑符号,数组里存的全是‘\0’
na++;
i++;
}
i=0;
rewind(stdin);
while((word[i] = getchar()) != '\n'){
nw++;
i++;
}
for (i = 0; i < na; i++)
{ count = 0;
if(a[i] == word[0]){//第一个字符匹配上了才继续匹配
for(j=0;j<nw;j++){
if(a[i+j] == word[j]){
count++;
}
}
if(count == nw)sum++;//匹配数=word的字符数那么匹配成功
}
}
printf("%d",sum);
}