关于C程序设计(C++)
- 提问者网友:疯孩纸
- 2021-04-11 23:38
- 五星知识达人网友:毛毛
- 2021-04-12 00:39
- 1楼网友:愁杀梦里人
- 2021-04-12 03:23
- 2楼网友:雾月
- 2021-04-12 02:46
下面代码运行在vc++6.0下:#include <iostream.h> #include <stdio.h> #include <stdlib.h> int strlen(char *s) { for(int i=0;s[i]!='\0';i++); return i; }
int strstr(char *s1,char *s2) { int count=0; int i,j,endposition; endposition=strlen(s1)-strlen(s2); if(endposition>0) { for(i=0;i<=endposition;i++) { for(j=i;s1[j]==s2[j-i];j++) if(s2[j-i+1]=='\0')count++;//记录出现的次数 } } return count; }
void main() { char string1[100]; char string2[20]; int count=0; printf("Please Input String:");//原串 gets(string1); printf("Please inut subString:");//子串 gets(string2); count=strstr(string1,string2); cout<<string2<<"在"<<string1<<"中出现了:"<<count<<endl; }
程序运行结果:
- 3楼网友:想偏头吻你
- 2021-04-12 01:48
用C++写就这样.
#include <iostream> #include <cstring> using namespace std;
int FindString(const char* dst, const char* str) { int count = 0; char* index; index = strstr(dst, str); while (index != NULL) { count++; index += strlen(str); index = strstr(index, str); } return count; }
int main() { char dst[128], str[128]; cout << "请输入一个字符串: "; cin.getline(dst, 128); cout << "请输入待查找字符串: "; cin.getline(str, 128); cout << "出现次数: " << FindString(dst, str) << endl; return 0; }
- 4楼网友:十鸦
- 2021-04-12 00:50
字符串1, 和要查找的字符串2.
遍历两个字符串.当字符串1中出现字符串2的首元素时.
进入一个循环.循环结束条件是字符串1与字符串2不相等.或者字符串2遇到结束符.
这个循环结束后,字符串2为字符串结束符,说明字符串1中出现了1次字符串2, 然后继续循环往下查找.
具体代码如下:
#include <stdio.h>
int main() { int i,is=0,cnt=0; char str[100],ch[10],*p; gets(str); gets(ch); p=str; while(*p) { i=0; if(*p == *ch) { while(*ch) { if(*(ch+i)!=*(p+i) || *(ch+i)=='\0') break; i++; } if(*(ch+i)=='\0') cnt++; } p++;
} printf("%d\n",cnt); return 0; }