// Qunshuo1.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <ctype.h> #include <string.h> /** 将一个字符串中的各个位按递增排序的最大整数打印出来。 输入字符串"abc123def2345gh6567",打印出"2345"。 输入字符串"hello345world567",输出"567"。 基本思路:扫描一遍,遇到数字且满足当前数字小于下一个数字,则开始记录值;与当前最大值比较,是否替换 另外需要处理:如果下一位是结束标志的话,则代表数字的结束 */ int findBigAscNum(const char *str){ int maxNum=0; int tmp=0; while (*str!='/0') { tmp=0; while (isdigit(*str) && (*str<*(str+1)||*(str+1)=='/0')){ tmp=tmp*10+(*str-'0'); if(tmp>maxNum) maxNum=tmp; str++; } str++; } return maxNum; } int main(int argc, char* argv[]) { int maxNum=findBigAscNum("abc123def2345gh6567"); printf("%d/n",maxNum); return 0; }