您的位置:首页 > 编程语言 > PHP开发

编写一个函数,有如下函数原型: 函数:int continum(char *intputstr,char *outputstr). 给一个字符串,要求找到里面连续的串,并且串的长度是所有连续串中

2018-02-20 20:14 1236 查看
编写一个函数,有如下函数原型:#include <stdio.h>
#include <string.h>

int continumax(char*outputstr,char*intputstr)
{
int start=0,end=0,max=0; //start是数字字符的起始位置 end是数字字符的结束位置 max数字字符串字符的个数
int tempstart=0,tempmax=0; //tempstart任意数字字符的起始位置 tempmax任意数字字符串字符的个数
int length=strlen(intputstr);//整个字符串的大小
int cur=0;

for(;cur<length;cur++)//遍历整个字符串
{
char c=intputstr[cur];
if(c>='0'&&c<='9')//当字符是数字时
{
if(tempmax==0)
{
tempstart=cur;//新的数字字符串的起始位置
}
tempmax++;
}
else//当不是数字时
{
if(tempmax>max)
{
start=tempstart;
end=cur;
max=tempmax;
tempmax=0;
}
}

}

for(cur=0;cur<end-start;cur++)
{
outputstr[cur]=intputstr[cur+start];
putchar(outputstr[cur]);
}
putchar('\n');
return max;
}

int main(int argc, const char *argv[])
{
char arr[100];
memset(arr,0,sizeof(arr));
printf("please input a string:");
gets(arr);

char out[100];
memset(out,0,sizeof(out));
int len=continumax(out,arr);

printf("len=%d\n",len);
return 0;
}

函数:int continum(char *intputstr,char *outputstr).
给一个字符串,要求找到里面连续的串,并且串的长度是所有连续串中最长的;结果是返回最长连续串的长度和对应的串;
例如:有字符串“abc123ef456ss123456789”其首地址是intputstr,最长的连续串是 123456789,长度是9,该串由outputstr返回。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐