在字串中找出連續最長的數字串

2021-07-09 05:52:58 字數 1961 閱讀 3952

請乙個在字串中找出連續最長的數字串,並把這個串的長度返回;如果存在長度相同的連續數字串,返回最後乙個連續數字串;

注意:數字串只需要是數字組成的就可以,並不要求順序,比如數字串「1234」的長度就小於數字串「1359055」,如果沒有數字,則返回空字串(「」)而不是null!

樣例輸入

abcd12345ed125ss123058789

abcd12345ss54761

樣例輸出

輸出123058789,函式返回值9

輸出54761,函式返回值5

介面說明

函式原型:

unsignedint continumax(char** poutputstr,  char* intputstr)

輸入引數:

char* intputstr  輸入字串;

輸出引數:

char** poutputstr: 連續最長的數字串,如果連續最長的數字串的長度為0,應該返回空字串;如果輸入字串是空,也應該返回空字串;  

返回值:

連續最長的數字串的長度

**:[cpp]view plain

copy

#include 

#include "oj.h"

#include 

/* 功能:在字串中找出連續最長的數字串,並把這個串的長度返回

函式原型:

unsigned int continumax(char** poutputstr,  char* intputstr)

輸入引數:

char* intputstr  輸入字串

輸出引數:

char** poutputstr: 連續最長的數字串,如果連續最長的數字串的長度為0,應該返回空字串

poutputstr 指向的記憶體應該在函式內用malloc函式申請,由呼叫處負責釋放

返回值:

連續最長的數字串的長度

*/unsigned int

continumax(

char

** poutputstr,  

char

* intputstr)  

;  strncpy_s(ptemp,10, temp,10);  

if(null == intputstr)  

size_t

strlen = strlen(intputstr);  

char

* pmaxnum = 

newchar

[strlen+1];  

size_t

numlen = 0,maxnumlen = 0;  

size_t

startnum=0;  

for(

size_t

i=0;i

if(numlen!=0 && maxnumlen<=numlen)  

}  }  if

(maxnumlen == 0)  

else

return

(unsigned 

int)maxnumlen;  

}  

測試用例:

[cpp]view plain

copy

void

cexampletest::testcase01()  

{  char

* intputstr = 

"abcd12345ed125ss123456789"

;  char

*poutputstr = null;  

unsigned int

nlength = continumax(&poutputstr, intputstr);  

cppunit_assert(nlength == 9);  

cppunit_assert((poutputstr != null) &&

在字串中找出連續最長的數字串

請乙個在字串中找出連續最長的數字串,並把這個串的長度返回 如果存在長度相同的連續數字串,返回最後乙個連續數字串 樣例輸入 abcd12345ed125ss123058789 abcd12345ss54761樣例輸出 輸出123058789,函式返回值9 輸出54761,函式返回值5函式原型 unsi...

在字串中找出連續最長的數字串

題目描述 請乙個在字串中找出連續最長的數字串,並把這個串的長度返回 如果存在長度相同的連續數字串,返回最後乙個連續數字串 注意 數字串只需要是數字組成的就可以,並不要求順序,比如數字串 1234 的長度就小於數字串 1359055 如果沒有數字,則返回空字串 而不是null!樣例輸入 abcd123...

在字串中找出連續最長的數字串

功能 在字串中找出連續最長的數字串,並把這個串的長度返回,並把這個最長數字串付給其中乙個函式引數 outputstr所指記憶體。例如 abcd12345ed125ss123456789 的首位址傳給intputstr後,函式將返回9,outputstr所指的值為123456789 include i...