#include <stdio.h>
#include <string.h>
#include <ctype.h>
int continumax(char *outputstr,char *intputstr)
{
int maxNum=0,count=0,i;//count计数
char *head=NULL;//head为最长字符串的首地址
while (*intputstr!=NULL)
{
if (isdigit(*intputstr))
{
count++;
}
else
{
if (count>maxNum)
{
maxNum=count;
head=intputstr-maxNum;
}
count=0;
}
intputstr++;
}
memcpy(outputstr,head,maxNum);
outputstr[maxNum]='\0'; //不能忘
/*
for (i=0;i<maxNum;i++)
{
*outputstr=*head; //不改变outputstr地址
outputstr++;
head++;
}
*/
return maxNum;
}
int main()
{
int result;
char intputstr[100],outputstr[100];
while (printf("Please input a string: "),fgets(intputstr,sizeof(intputstr),stdin)!=NULL) //改为fgets输入字符串
{
result=continumax(outputstr,intputstr);
printf("The result is : %d %s\n\n",result,outputstr);
}
return 0;
}
#include <string.h>
#include <ctype.h>
int continumax(char *outputstr,char *intputstr)
{
int maxNum=0,count=0,i;//count计数
char *head=NULL;//head为最长字符串的首地址
while (*intputstr!=NULL)
{
if (isdigit(*intputstr))
{
count++;
}
else
{
if (count>maxNum)
{
maxNum=count;
head=intputstr-maxNum;
}
count=0;
}
intputstr++;
}
memcpy(outputstr,head,maxNum);
outputstr[maxNum]='\0'; //不能忘
/*
for (i=0;i<maxNum;i++)
{
*outputstr=*head; //不改变outputstr地址
outputstr++;
head++;
}
*/
return maxNum;
}
int main()
{
int result;
char intputstr[100],outputstr[100];
while (printf("Please input a string: "),fgets(intputstr,sizeof(intputstr),stdin)!=NULL) //改为fgets输入字符串
{
result=continumax(outputstr,intputstr);
printf("The result is : %d %s\n\n",result,outputstr);
}
return 0;
}