找出字符串中包含的最大的正整数。
输入格式:
输入一行字符,字符个数不超过100,以#结束。
输出格式:
输出包含的最大正整数值,如果没有包含整数,输出none。
样例">输入样例:
er23**345df f2#
输出样例:
345
输入样例:
er***&&&dff#
输出样例:
none
#include<stdio.h>
#include<string.h>
/*写一个函数,输入一行字符,将此字符串中最长的数字输出*/
main(){
int flag=0,count=0,maxLength=0,index=0; //count用来计数当前数字长度,index是最长数字的下标位置。
int i,j;
char words[100],ch;
gets(words);
for(i=0;i<strlen(words)+1;i++){
if('0'<=ch&&ch<='9'){
flag=1; //如果是数字则标记flag=1,且单词计数+1
count++;
}else if(flag==1){ //当不是数字,且前一个为数字的时候才开始判断是否最长数字。
if(count>maxLength){
index=i-count; //计算最长数字的下标位置
maxLength=count;
}
flag=0;
count=0;
}
}
if(maxLength==0)
printf("none");
else for(j=index;j<index+maxLength;j++){
printf("%c",words[j]);
}
}