求一个字符串s的最大连续递增数字子串
2013-04-06 14:45
811 查看
#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; }
相关文章推荐
- 求一个字符串s的最大连续递增数字子串
- 输入一个字符串A,求其中最长的连续递增子串的长度。例如 "hidefef" 中最长的连续递增子串是 "def" ,长度为 3
- 用三重循环求一个字符串的最大回文串(连续重复出现的最长子串)
- 求一个字符串中的最大连续重复子串
- 给一个字符串s,计算具有相同数字0和1的非空(连续)子字符串的数量,并且这些子字符串中的全部0和全部1被连续分组。子串发生多次被计数的次数。
- 找出一个字符串中最长的连续数字子串,输出该字符串及长度
- 用递归算法计算一个字符串中最大的连续字符个数
- 求一个字符串中连续出现次数最多的子串
- 求一个字符串中连续出现次数最多的子串
- [华为机试题]最大连续递增子串
- 最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离
- 输入一个字符串,找出最长的数字子串,并指出从第几个字符开始
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- 求一个字符串中连续出现次数最多的子串
- 求一个字符串中连续出现并且出现次数最多的子串.
- 求一个字符串中连续出现次数最多的子串
- 最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离
- 最新的微软面试题,题目:求一个字符串中连续出现次数最多的子串
- 将一个字符串中的各个位按递增排序的最大整数打印出来
- 第25题: 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr),在字符串中找出连续最长的数字串,并把这个串的长度返回