/*字符串中子串出现的次数*/#include#include#include#define N 100//函数声明int number(char *,char *);void main(){char *s;char *son;int num;s=(char *)malloc(sizeof(char)*N);son=(char *)malloc(sizeof(char)*N);printf("请输入字符串:\n");gets(s);printf("请输入子串:\n");gets(son);while(strlen(son)>strlen(s)){system("cls");printf("输入错误!请重新输入!\n");printf("请输入字符串:\n");gets(s);printf("请输入子串:\n");gets(son);if(strlen(son)<=strlen(s)){break;}}num=number(s,son);printf("字符串中子串出现的次数为:%d\n",num);}int number(char *s,char *son){int s_length=strlen(s);int son_length=strlen(son);int i,j,k;int num=0;for(i=0;s[i]!='\0';i++){if(strncmp(s+i,son,son_length)==0){num++;}if(i==s_length){printf("%s不是%s的子串\n",son,s);}}if(num!=0){return num;}} 运行结果: |