写一个函数,它的原形是int continumax(char*outputstr,char*intputstr)
2013-04-05 16:00
471 查看
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr 后,函数将返回9,
outputstr所指的值为123456789
#include <iostream>
using namespace std;
int continueMax(char* input,char*& output)
{
//int count,k;
char*p,*q;
if(NULL==input)
return 0;
for(int i = 0,count = 0,k=0;*(input+i)!='\0';i++)
{
if(*(input+i)>='1'&&*(input+i)<='9')
{
if(0==k)
p = input+i;
k++;
}
else
{
if(count<k)
{
count = k;
q = p;
}
k=0;
}
}
output = new char[count+1];
for(i = 0;i<count;i++)
*(output+i) = *(q+i);
*(output+i) = '\0';
return count;
}
int main()
{
char* p = NULL;
int a = continueMax("123dasf123456dd",p);
cout<<a<<endl;
cout<<p<<endl;
return 0;
}
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr 后,函数将返回9,
outputstr所指的值为123456789
#include <iostream>
using namespace std;
int continueMax(char* input,char*& output)
{
//int count,k;
char*p,*q;
if(NULL==input)
return 0;
for(int i = 0,count = 0,k=0;*(input+i)!='\0';i++)
{
if(*(input+i)>='1'&&*(input+i)<='9')
{
if(0==k)
p = input+i;
k++;
}
else
{
if(count<k)
{
count = k;
q = p;
}
k=0;
}
}
output = new char[count+1];
for(i = 0;i<count;i++)
*(output+i) = *(q+i);
*(output+i) = '\0';
return count;
}
int main()
{
char* p = NULL;
int a = continueMax("123dasf123456dd",p);
cout<<a<<endl;
cout<<p<<endl;
return 0;
}
相关文章推荐
- 25.写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
- 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
- 【微软100题】写一个函数,它的原形是int continumax(char *outputstr,char *intputstr) 功能: 在字符串中找出连续最长的数字串,并把这个串的长度返回
- 算法习题25:写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
- 第25 题:写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
- 第25题: 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr),在字符串中找出连续最长的数字串,并把这个串的长度返回
- 微软面试100题之25题:写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
- 【练习】写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,
- 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
- 第25 题: 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
- 25.写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
- 编写一个函数,有如下函数原型: 函数:int continum(char *intputstr,char *outputstr). 给一个字符串,要求找到里面连续的串,并且串的长度是所有连续串中
- 编写一个函数,它从一个字符串中提取一个子字符串。函数原型如下: Int substr(char dst[], char src[],int start, int len) {} 目标是:从src数组
- 编写一个函数 int count_chars(char const *str,char const *chars) 函数应该在第一个参数中进行查找, 并返回匹配第二个参数所包含的字符的数量。
- 编写一个函数,删除字符串中的一段字符,函数原型为: int fun(char *p,int start,int end); 返回值为删除字符数, start 开始位置,end 结束位置。
- C语言补漏(1)--- char到int赋值的一个陷阱
- 程序猿之---C语言细节1(==与=、函数指针、数组字符串printf、int ((b));、char b =‘abcd’)
- 我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。为什么如下的代码((int *)p)++; 不行?
- 【c语言】 编写一个函数reverse_string(char * string)(递归实现)
- C语言 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。