69,369
社区成员
发帖
与我相关
我的任务
分享
int main()
{
char* p = "123 123 1234 12345 3123 6123 132";
char* tem = "123";
int number = 0;
while(*p)
{
if (*p == *tem)
{
int count = 0;
int flag = 1;
while (*(tem + count) != '\0' && *(p + count) != '\0')
{
if (*(p + count) != *(tem + count))
{
flag = 0;
break;
}
count++;
}
if (flag == 1)
{
number++;
p = p + count;
}else
p++;
}else
p++;
}
return 0;
}
楼主看可否满足条件
#include <stdio.h>
#include <string.h>
#define N 129
int main(){
int i,j,a[N]={0};
char str[N];
scanf("%[^\n]%*c",str);
for(i=0;str[i]!='\0';++i){
++a[str[i]];
}
for(i=0;i<N;++i){
for(j=0;j<a[i];++j){
printf("%c",i);
}
}
printf("\n");
return 0;
}
#include "stdio.h"
int main(int argc, char* argv[])
{
const char *str="aaaa";
const char *t="aaa";
const char *p=t;
int i=0;
int j=0;
int count=0;
int count1=0;
while (*str)
{
if(*str==*t)
{
t++;
if(*t==NULL)
{
count++;
}
}
else
{
t=p;
str=str-count1;
count1=0;
}
str++;
count1++;
}
printf("%d",count);
return 0;
}
int main(int argc, char* argv[])
{
const char *str="AAB";
const char *t="AB";
const char *p=t;
int i=0;
int j=0;
int count=0;
while (*str)
{
if(*str==*t)
{
t++;
if(*t==NULL)
{
count++;
}
}
else
{
t=p;
str--;
}
str++;
}
printf("%d",count);
return 0;
}
改进了一下 刚才的代码 若果 AAB AB 找不出来··int main(int argc, char* argv[])
{
const char *str="good foor foo";
const char *t="oo";
const char *p=t;
int i=0;
int j=0;
int count=0;
while (*str)
{
if(*str==*t)
{
t++;
if(*t==NULL)
{
count++;
}
}
else
t=p;
*str++;
}
printf("%d",count);
return 0;
}
#include <stdio.h>
int main()
{
int Count = 0; //存放查找到的次数
int i; //存放现查到的位置
int cnow = 0;//存放现照到第几个字符
char bche[] = "abcabccdabc";//存放用来查找的字符串
char che[] = "abc";//存放需要查找的字符串
for(i = 0;bche[i] != 0;i ++)
{
if(che[cnow] != 0)
{
if(bche[i] == che[cnow])
{
cnow ++;
}
else
{
cnow = 0;
}
}
else
{
Count ++;
cnow = 0;
i--;
}
if(bche[i+1] == 0 && che[cnow] == 0)
Count ++;
}
return 0;
}
// stringMatch.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "iostream"
using namespace std;
int StringMatch(char *p, char* s)
{
int count = 0;
char *head = s;
while (*p != '\0')
{
if (*p == *s)
s++;
else
s = head;
p++;
if (*s == '\0')
{
count++;
s = head;
}
}
return count;
}
int main(int argc, char* argv[])
{
char string[100];//带匹配字符串
char pattrn[100];//模式串
cin >> string;
cin >> pattrn;
cout << "匹配数" << StringMatch(string, pattrn);
return 0;
}