经典指数          
原因
2389
浏览数
0
收藏数
 

int maxContinuNum(const char *inputstr,char * outputstr) 编写一段程序实现该函数,实现返回一个以“\0”结束的字符串中最长的数字串的长度,并把该数字子串的首地址赋给outputstr。不能使用任何库函数或已经存在的函数,如strlen。 例如:在字符串“abc123abcdef12345abcdefgh123456789”中,把该字符串的首地址赋给inputstr,返回9,outputstr指向字符串“123456789”的首地址。

     举报   纠错  
 
切换
1 个答案

int maxContinueNum(const char *inputstr,char **outputstr)

{

if(inputstr==NULL||outputstr==NULL)

return 0;

int max=0;

const char *ans_str;

    const char *p=inputstr;

const char *q=inputstr;

while(*p)

{

if(*q>='0'&&*q<='9')

++q;

else

{

if(q-p>max)

{

max=q-p;

ans_str=p;

}

if(*q)

p=++q;

else

p=q;

}

}

*outputstr=new char[max+1];

int ans=max;

char *po=*outputstr;

while(max--)

*(po++)=*ans_str++;

*po=0;

return ans;

}

 
切换
撰写答案
扫描后移动端查看本题