码迷,mamicode.com
首页 > 其他好文 > 详细

找出最长的数字串:方法2

时间:2018-04-17 20:49:17      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:int   最大的   str   i++   use   数字串   end   数字   turn   

把字符串里的各个数字串的长度和当前最大的数字串比较,最终得到最大的数字串为哪个数字串,记下它在字符串里的位置p_

dest,和它的长度cnt

输出时,从地址p_dest往后输出cnt个字符

#include <iostream>
using namespace std;


//找到字符串中最长的数字串
char*  find_max_num_string(char *p_src, char *p_dest,int& max) 
                        //原字符串、最长数字串的首地址、数字串的长度
{
    
    int cnt = 0;   //当前所记录的数字串的长度
    
    if (p_src == NULL)
        return 0; 
    

    while (*p_src != \0)
    {
        if (*p_src >= 0&&*p_src <= 9)
        {
            cnt++;  //字符为数字字符时,计数器加;
            
            if (cnt > max) //大于之前记录的最大的数字串
            {
                p_dest = p_src - cnt + 1; // 刷新p_dest
                max = cnt;//刷新max
            }
        }
        else cnt = 0;//否则遇到的是非数字字符 ,计数器=0
        p_src++;
    }
    return p_dest;

}
int main()
{
    int cnt = 0;
    char src[50] = { \0 }; 
    char *p_dest = src;
    cout << "输入字符串";
    cin.getline(src, 50);
    
    
    p_dest=find_max_num_string(src, p_dest,cnt);
    cout << cnt << endl;
    
    for (int i=0;i < cnt; i++)
    {
        cout << *(p_dest++);
    }
    system("pause");
}

 

找出最长的数字串:方法2

标签:int   最大的   str   i++   use   数字串   end   数字   turn   

原文地址:https://www.cnblogs.com/leiguoxin-fjnu/p/8869686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!