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

2021-09-24 11:21:50 字數 1490 閱讀 7141

題目描述

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

注意:數字串只需要是數字組成的就可以,並不要求順序,比如數字串「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...