題目描述
請乙個在字串中找出連續最長的數字串,並把這個串的長度返回;如果存在長度相同的連續數字串,返回最後乙個連續數字串;
注意:數字串只需要是數字組成的就可以,並不要求順序,比如數字串「1234」的長度就小於數字串「1359055」,如果沒有數字,則返回空字串(「」)而不是null!
樣例輸入
abcd12345ed125ss123058789
abcd12345ss54761
樣例輸出
輸出123058789,函式返回值9
輸出54761,函式返回值5
介面說明
函式原型:
unsignedint continumax(char** poutputstr, char* intputstr)
輸入引數:
char* intputstr 輸入字串;
輸出引數:
char** poutputstr: 連續最長的數字串,如果連續最長的數字串的長度為0,應該返回空字串;如果輸入字串是空,也應該返回空字串;
返回值:
連續最長的數字串的長度
本題考查知識點:字串、指標的指標
本題難度:簡單
#include #include #include "oj.h"
/* 功能:在字串中找出連續最長的數字串,並把這個串的長度返回
函式原型:
unsigned int continumax(char** poutputstr, char* intputstr)
輸入引數:
char* intputstr 輸入字串
輸出引數:
char** poutputstr: 連續最長的數字串,如果連續最長的數字串的長度為0,應該返回空字串
poutputstr 指向的記憶體應該在函式內用malloc函式申請,由呼叫處負責釋放
返回值:
連續最長的數字串的長度
*/unsigned int continumax(char** poutputstr, char* intputstr)
if(num>max)
} }if(flag = 0)
return max;
}
get的知識點:
1.*運算子的結合性是從右到左,因此「char *(*p)」可以寫成char **p
char **p;
char *name = ;
p = name + 2;
*p代表name[2],它指向字串「c++」,或者說在name[2]中存放了字串"c++"第乙個字元的位址
**p是*p(值為name[2])指向的「c++」第乙個字元元素的內容,即字元"c"
華為oj 在字串中找出連續最長的數字串
include include include include oj.h using namespace std 功能 在字串中找出連續最長的數字串,並把這個串的長度返回 函式原型 unsigned int continumax char poutputstr,char intputstr 輸入引數...
華為OJ(在字串中找出連續最長的數字串)
題目 在字串中找出連續最長的數字串 寫乙個函式,它的原形是int continumax char outputstr,char intputstr 功能 在字串中找出連續最長的數字串,並把這個串的長度返回,並把這個最長數字串付給其中乙個函式引數outputstr所指記憶體。對於空串或不包含數字的字串...
華為OJ 在字串中找出連續最長的數字串
在字串中找出連續最長的數字串 樣例輸出 輸出123058789 函式返回值 9輸出54761 函式返回值 5介面說明 函式原型 unsignedint continumax char poutputstr,char intputstr 輸入引數 char intputstr 輸入字串 輸出引數 ch...