找出一个字符串中最长的数字串输出

来源:互联网 发布:陕西乡土文化数据图 编辑:程序博客网 时间:2024/05/09 01:14

编译环境:Code::Blocks 10.05

/*实现一个函数的完整代码。  int maxContinuNum(const char*inputstr.char*outputstr)  功能: 在以‘\0’结尾的字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存。不能用strlen之类的库函数。*/#include<stdio.h>int maxContinuNum(char* inputstr,char* outputstr);int main(void){    char in[100];    char out[100];    int i;    puts("Enter a string contains numbers:");    int count=0;    while(gets(in)!=NULL && in[0]!='\0')    {        count = maxContinuNum(in,out);        printf("Numbers in the string :%s\nContains %d numbers\n",out,count);        //清空一次 否则在重复输入时存在错误        for( i=0;i<100;i++)            out[i]='\0';        puts("Enter a string contains numbers:(enpty line to quit):");    }    puts("Bye!");    return 0;}int maxContinuNum(char* inputstr,char* outputstr){    int place;    int i=0;    int len=0;    int maxlen=0;    while(inputstr[i])    {        while((inputstr[i]>='0' && inputstr[i]<='9') && inputstr[i]!='\0' )        {            len++;            i++;        }        if(maxlen<len)        {            maxlen=len;            place=i-len;        }        len=0;        i++;    }    int j=0;    for( i=place;i<maxlen+place;)    {        outputstr[j++]=inputstr[i++];    }    outputstr[j]='\0';    return maxlen;}


原创粉丝点击