寫一個函數,它的原形是int
continumax(char *outputstr,char *intputstr)
功能:
在字串中找出連續最長的數字串,並把這個串的長度返回,並把這個最長數字串付給其中一個函數參數outputstr所指記憶體。例如:"abcd12345ed125ss123456789"的首地址傳給intputstr後,函數將返回 9,outputstr所指的值為123456789
#include <iostream>#include <cstring>
using namespace std;
int continuemax(char * outputstr, char * inputstr){ int index=0; int length=1; int max=0; int start=0;
while(inputstr[index] != '\0') { if(inputstr[index+1] == inputstr[index] +1) { length++; } else { if(length > max) { max = length; start = index - length + 1; } length = 1; } index++; }
strncpy(outputstr, inputstr + start, max);
return max;}int main(){ char *input = "abcdefghijkl12345ed125ss123456789"; char *output = new char[20];
int len = continuemax(output,input);
cout << "max continue inputstr is \""<< output <<"\"\nlength is " << len<< endl; delete [] output; return 0;}