字符串中找出連續(xù)最長的數(shù)字字符串的實(shí)例代碼
更新時間:2013年09月17日 15:19:45 作者:
這篇文章介紹了字符串中找出連續(xù)最長的數(shù)字字符串的實(shí)例代碼,有需要的朋友可以參考一下
復(fù)制代碼 代碼如下:
//1. 寫一個函數(shù),它的原形是int continumax(char *outputstr,char *intputstr)
//功能:
//在字符串中找出連續(xù)最長的數(shù)字串,并把這個串的長度返回,
//并把這個最長數(shù)字串付給其中一個函數(shù)參數(shù)outputstr所指內(nèi)存。
//例如:"abcd12345ed125ss123456789"的首地址傳給intputstr后,函數(shù)將返回9,outputstr所指的值為123456789
#include<stdio.h>
#include<assert.h>
int continumax(char *outputstr,char *inputstr)
{
assert(outputstr);
assert(inputstr);
int length = 0;
int maxlength = 0;
int i = 0;
int j = 0;
while(inputstr[i] != '\0')
{
while( inputstr[i] >='0'&& inputstr[i] <= '9')
{
length++;
i++;
}
if(length > maxlength)
{
maxlength = length;
int k = i-maxlength;
for(j = 0; j < maxlength; j++ )
{
outputstr[j] =inputstr[k++];
}
length = 0;
continue;
}
i++;
length = 0;
}
outputstr[j] = '\0';
return maxlength;
}
int main( )
{
char inputstr[ ]= "abcd12345eddafsd125ss123456789";
char outputstr[100];
int max_numstr_length = continumax(outputstr,inputstr);
printf("%s\n",outputstr);
printf("the max_numstr_length is %d\n", max_numstr_length);
return 0;
}
復(fù)制代碼 代碼如下:
#include<iostream.h>
#include<malloc.h>
int continumax(char * outputstr, char * inputstr)
{
int len = 0; //統(tǒng)計數(shù)字字符串的長度
int max = 0; //當(dāng)前最大數(shù)字字符串的長度
char *pstr =NULL; //記錄最大數(shù)字字符的起始位置
while(* inputstr!= '\0')
{
if(*inputstr <= '9' && *inputstr >='0') //統(tǒng)計數(shù)字子字符串的長度
{
len++;
inputstr++;
continue;
}
else if (len > max) //如果統(tǒng)計出來的數(shù)字字符串大于當(dāng)前的最大數(shù)字子字符串的長度,則更新
{
max = len;
pstr = inputstr-len;
len = 0;
}
inputstr++;
}
for(int i = 0 ; i<max;i++) //將最大子字符串的值拷貝給outputstr
{
*outputstr = *pstr;
outputstr++;
pstr++;
}
outputstr = outputstr-max;
outputstr[max] ='\0';
cout<<outputstr<<endl;
return max;
}
int main()
{
char input[] = "de1234de123456ed";
//char * out = (char *)malloc(100*sizeof(char));
char output[100];
int max = continumax(output, input);
cout<<max<<endl;
return 0;
}
您可能感興趣的文章:
相關(guān)文章
C語言數(shù)據(jù)結(jié)構(gòu)之模式匹配字符串定位問題
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之模式匹配字符串定位問題的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解這部分內(nèi)容,需要的朋友可以參考下2017-10-10C++ std::unique_lock 用法實(shí)例詳解
std::unique_lock 是 C++11 提供的一個用于管理互斥鎖的類,它提供了更靈活的鎖管理功能,適用于各種多線程場景,這篇文章給大家介紹了C++ std::unique_lock 用法,感興趣的朋友跟隨小編一起看看吧2023-09-09C語言中結(jié)構(gòu)體的內(nèi)存對齊規(guī)則講解
C 數(shù)組允許定義可存儲相同類型數(shù)據(jù)項(xiàng)的變量,結(jié)構(gòu)是 C 編程中另一種用戶自定義的可用的數(shù)據(jù)類型,它允許你存儲不同類型的數(shù)據(jù)項(xiàng),本篇讓我們來了解C 的結(jié)構(gòu)體內(nèi)存對齊2022-05-05C++ xxx_cast實(shí)現(xiàn)轉(zhuǎn)換代碼實(shí)例解析
這篇文章主要介紹了C++xxx_cast轉(zhuǎn)換代碼實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07C語言rewind與fseek函數(shù)之隨機(jī)讀寫文件的用法詳解
這篇文章主要介紹了C語言rewind與fseek函數(shù)之隨機(jī)讀寫文件的用法詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09C++實(shí)現(xiàn)俄羅斯方塊(linux版本)
這篇文章主要為大家詳細(xì)介紹了linux版本C++實(shí)現(xiàn)俄羅斯方塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-07-07C++ 中const對象與const成員函數(shù)的實(shí)例詳解
這篇文章主要介紹了C++ 中const對象與const成員函數(shù)的實(shí)例詳解的相關(guān)資料,希望通過本文能讓大家徹底掌握該如何使用,需要的朋友可以參考下2017-08-08