字符串中找出连续最长的数字子串,并返回这个数字串的长度
2014-05-12 21:50
393 查看
仅此学习,留作纪念
代码如下:
#include<stdio.h>
#include<string.h>
#include<malloc.h>
unsigned int Continumax (char * pOutputstr, char * intputstr)
{
if (intputstr==NULL)
{
return -1;
}
int length=strlen(intputstr);
int i,j,count=0;
int maxnum=0;
for (i=0; i<length; i++)
{
if (intputstr[i]>='0' && intputstr[i]<='9')
{
count++;
if (count>maxnum)
{
maxnum=count;
strncpy(pOutputstr,intputstr+j+1,maxnum);
}
}
else
{
count=0;
j=i;
}
}
return maxnum;
}
int main (void)
{
char inputstr[] = "abcd12345ed123sf3343461346345";
char *outputstr;
int len=strlen(inputstr);
int maxnum;
outputstr=(char *)malloc(len*(sizeof(char)));
maxnum = Continumax(outputstr, inputstr);
printf("maxnum=%d\n",maxnum);
for (int i=0; i<maxnum; i++)
{
printf("%c ",outputstr[i]);
}
printf("\n");
free(outputstr);
return 0;
}
代码如下:
#include<stdio.h>
#include<string.h>
#include<malloc.h>
unsigned int Continumax (char * pOutputstr, char * intputstr)
{
if (intputstr==NULL)
{
return -1;
}
int length=strlen(intputstr);
int i,j,count=0;
int maxnum=0;
for (i=0; i<length; i++)
{
if (intputstr[i]>='0' && intputstr[i]<='9')
{
count++;
if (count>maxnum)
{
maxnum=count;
strncpy(pOutputstr,intputstr+j+1,maxnum);
}
}
else
{
count=0;
j=i;
}
}
return maxnum;
}
int main (void)
{
char inputstr[] = "abcd12345ed123sf3343461346345";
char *outputstr;
int len=strlen(inputstr);
int maxnum;
outputstr=(char *)malloc(len*(sizeof(char)));
maxnum = Continumax(outputstr, inputstr);
printf("maxnum=%d\n",maxnum);
for (int i=0; i<maxnum; i++)
{
printf("%c ",outputstr[i]);
}
printf("\n");
free(outputstr);
return 0;
}
相关文章推荐
- 每天学习一点编程(4)(在字符串中找出连续最长的数字串,并把这个串的长度返回)
- 每天学习一算法系列(22)(在字符串中找出连续最长的数字串,并把这个串的长度返回)
- 数据结构——算法之(024)(在字符串中找出连续最长的数字串,并把这个串的长度返回)
- 【微软100题】写一个函数,它的原形是int continumax(char *outputstr,char *intputstr) 功能: 在字符串中找出连续最长的数字串,并把这个串的长度返回
- 【练习】写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,
- 华为练习题 在字符串中找出连续最长的数字串,并把这个串的长度返回
- 请一个在字符串中找出连续最长的数字串,并把这个串的长度返回;如果存在长度相同的连续数字串,返回最后一个连续数字串
- 在字符串中找出连续最长的数字串并以参数形式返回,并把这个串的长度返回
- 在字符串中找出连续最长的数字串,并把这个串的长度返回.
- 在字符串中找出连续最长的数字串,并把这个串的长度返回
- 【编程题目】在字符串中找出连续最长的数字串,并把这个串的长度返回
- C/C++ | 21-9 字符串中找出连续最长的数字串,并把这个串的长度返回
- 第25题: 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr),在字符串中找出连续最长的数字串,并把这个串的长度返回
- 写正确函数需要注意的地方:在字符串中找出连续最长的数字串,并把这个串的长度返回
- 微软面试之25 在字符串中找出连续最长的数字串,并把这个串的长度返回,
- 在字符串中找出连续最长的数字串,并把这个串的长度返回
- 25 字符串中找出连续最长的数字串,返回长度
- 找出一个字符串中最长的连续数字子串,输出该字符串及长度
- 在字符串中找出连续最常的字符串,并把这个串的长度返回。
- 找出字符串中最长的数字子串并指出位置长度,输出。