一个简单的程序,但想想这个程序可以拓展的,比如将信息写入到文件中,然后进行统计,或者做成单词校验神马哒~~
是不是嗖主意很多哈~~先看简单哒,后期再上升级版本,吼吼~~
/*
**题目:统计一个字符串中给定子字符串出现的次数
*/
#define CHAR_LEN 100
#include<stdio.h>
void subStr(char *array,char *str)
{
int count = 0;
char *p,*q;
while(*array!='\0')
{
p=array;
q=str;
while(*q!='\0')
{
if(*p==*q)
{
p++;
q++;
}
else
break;
}
if(*q=='\0')
{
count++;
}
array++;
}
printf("子串在源串中一共出现%d次\n",count);
return;
}
//这个getStr使用getchar获取字符串,一个一个字符输入有点麻烦,所以直接在main中用gets获取字符串了
/*
void getStr(char *array)
{
char ch = 0;
int i = 0;
printf("(以'#'结束)");
while((ch!='#')&&(i<=CHAR_LEN-2))
{
fflush(stdin);
ch = getchar();
array[i] = ch;
//printf("i=%d,array[i]=%c,ch=%c",i,array[i],ch);
i++;
if(i==CHAR_LEN-2)
{
array[i] = '#';//确保源字符串的最后一个字符是'#';
printf("字符串达到最大长度,结束输入.");
break;
}
}
array[i] = '#';
return;
}
*/
int main(void)
{
char oriArray[CHAR_LEN];
char subArray[CHAR_LEN];//这里有点浪费空间,以防用户要找整个源字符串
char ch = 0;
int i = 0;
printf("\nStep1:请输入源字符串(len<100):");
//getStr(oriArray);
gets(oriArray);
printf("\nStep2:请输入要查找的子串:");
//getStr(subArray);
gets(subArray);
subStr(oriArray,subArray);
return 0;
}