求一个字符串s的最大连续递增数字子串
2013-09-27 22:46
459 查看
#include <stdio.h> #include <string.h> char* getSubStr(char *str,char *result){ char *p = str;//引用字符串 char *start = NULL;//字串开始位置的字符指针 //sublen字串的长度 count字符出现的次数,因为最后不满足条件的那个数也要计算在内,所以初始化为1 int sublen=0,count=1; while(*p!='\0'){ printf("p=%p *p= %c\n",p,*p); if(isdigit(*p) && isdigit(*(p+1)) && (*(p+1) = *p + 1)){ count ++; printf("ch = %c count=%d\n",*p,count); }else{ if(count>sublen){ sublen = count; start = p-(sublen-1);//p是最后一个递增数字的指针位置,通过字符长度,计算字串的开始指针位置。 strncpy(result,start,sublen);//复制满足条件的字串到新字符数组中。 printf(">>> p=%p start=%p sublen=%d result=%s\n",p,start,sublen,result); count = 1;//计数器置为1 } } p++; } return result;//最后返回最大的递增数字字串。 } int main() {//比如 "asdf1234aslkd123ll23" 结果是1234 char str[30]; char result[30]={'\0'}; char blank[30]={'\0'}; gets(str); getSubStr(str,result); return 0; }
转载自:/article/7920536.html
相关文章推荐
- 求一个字符串s的最大连续递增数字子串
- 输入一个字符串A,求其中最长的连续递增子串的长度。例如 "hidefef" 中最长的连续递增子串是 "def" ,长度为 3
- 求一个字符串中的最大连续重复子串
- 给一个字符串s,计算具有相同数字0和1的非空(连续)子字符串的数量,并且这些子字符串中的全部0和全部1被连续分组。子串发生多次被计数的次数。
- 用三重循环求一个字符串的最大回文串(连续重复出现的最长子串)
- 找出一个字符串中最长的连续数字子串,输出该字符串及长度
- 统计一个二进制字符串连续出现0或者连续出现1的最大次数
- 最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离
- 程宝P225 求一个字符串中连续出现次数最多的子串。
- java 将一个字符串里连续两个及以上数字反转
- 一道C语言面试题——求最大连续数字子串
- 数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串 (转)
- 找工作知识储备(2)---数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串
- 字符串中找出连续最长的数字子串,并返回这个数字串的长度
- 求一个字符串中字符不重复的连续的子串
- 求一个字符串中连续出现次数最多的子串
- 得到一个字符串最大无重复子串长度
- 一个字符串中连续出现次数最多的子串Java(2)
- 寻找一个字符串中连续出现次数最多的子串
- 求一个字符串中连续出现次数最多的子串