把字符串里的各个数字串的长度和当前最大的数字串比较,最终得到最大的数字串为哪个数字串,记下它在字符串里的位置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"); }
原文地址:https://www.cnblogs.com/leiguoxin-fjnu/p/8869686.html
时间: 2024-11-13 06:45:11