求最大連續的遞增數字串

求最大連續的遞增數字串

 

/*
求最大連續遞增數字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
*/

#include <stdio.h>
#include <string.h>

void main(){
	char s[]="ads3sl456789DF3456ld345AA";

	int max=0;
	int index=0;
	int len=0;
	int start=0;
	int i;

	for(i=0; i<(strlen(s)-1); i++){
		if(s[i]>='0' && s[i]<='9'){
			if(i==0){
				len=1;
			}else{
				if(s[i-1]>='0' && s[i-1]==(s[i]-1)){
					len++;
				}else{
					if(len>max){
						max=len;
						start=index;
					}
					index=i;
					len=1;
				}
			}
		}
	}

	for(i=start; i<(start+max); i++){
		printf("%c",s[i]);
	}
	printf("\n");
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章