自定义函数 实现从字符串中提取最长英文字符串
void Longest_English(char *string)
{
int max = 0;
char *p = string;
char *q = string;//遍历整个字符串
char str[100];//保存最长英文字符串的
while(*q != '\0')
{
p = q;//保存每次英文字符串首次出现的位置
int count = 0;
while(*q != '\0' && (!(*q >= '0' && *q <= '9'))) //除了数字字符,都会保存,但如果想只保存英文字符 可以更改条件 如:把&&后那个条件换成 (*q >= 'a' && *q <= 'z') || (*q >= 'A' && *q <= 'Z')
{
count++;//连续的英文字符的长度
q++;
}
if(count > max)//如果当前的长度比上次的长
{
max = count;//就更新最长的英文字符的长度
for(int i=0;i<max;i++)
{
str[i] = *p++;//并且保存最长英文字符 不保存比自己小的 这样会把之前短的清除掉 从新赋值
}
}
q++;//移动遍历指针
}
puts(str);//输出已经保存好的最长的英文字符串
}
//主函数
int main()
{
char string[100]={"sdfg123jf34what you neme?234hello,My name is big enough.234hih"};
Longest_English(string); //结果是:hello,My name is big enough.
return 0;
}
#我的实习求职记录#