題目描述
請乙個在字串中找出連續最長的數字串,並把這個串的長度返回;如果存在長度相同的連續數字串,返回最後乙個連續數字串;
注意:數字串只需要是數字組成的就可以,並不要求順序,比如數字串「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()
在字串中找出連續最長的數字串
請乙個在字串中找出連續最長的數字串,並把這個串的長度返回 如果存在長度相同的連續數字串,返回最後乙個連續數字串 樣例輸入 abcd12345ed125ss123058789 abcd12345ss54761樣例輸出 輸出123058789,函式返回值9 輸出54761,函式返回值5函式原型 unsi...
在字串中找出連續最長的數字串
請乙個在字串中找出連續最長的數字串,並把這個串的長度返回 如果存在長度相同的連續數字串,返回最後乙個連續數字串 注意 數字串只需要是數字組成的就可以,並不要求順序,比如數字串 1234 的長度就小於數字串 1359055 如果沒有數字,則返回空字串 而不是null!樣例輸入 abcd12345ed1...
在字串中找出連續最長的數字串
功能 在字串中找出連續最長的數字串,並把這個串的長度返回,並把這個最長數字串付給其中乙個函式引數 outputstr所指記憶體。例如 abcd12345ed125ss123456789 的首位址傳給intputstr後,函式將返回9,outputstr所指的值為123456789 include i...