所以请告诉我,我将如何从 C 中的垃圾字符串中获取最大的连续字母字符串?这是一个例子:
char *s = "(2034HEY!!11 th[]thisiswhatwewant44";
会回来...
thisiswhatwewant
前几天我在测验中遇到了这个问题......它让我发疯(现在仍然)试图弄清楚!
更新:
我的错伙计们,我忘了包括这样一个事实,即允许您使用的唯一函数是 strlen 函数。从而使它变得更难......
最佳答案
Uae strtok()
将您的字符串拆分为标记,使用所有非字母字符作为分隔符,并找到最长的标记。
要找到最长的 token ,您需要为 token 组织一些存储空间 - 我会使用链表。
就这么简单。
编辑
好的,如果 strlen()
是唯一允许的函数,您可以首先找到源字符串的长度,然后遍历它并将所有非字母字符替换为 NULL - 基本上就是这样strtok()
可以。
然后您需要第二次遍历修改后的源字符串,一次推进一个标记,并使用 strlen()
找到最长的一个。
关于C - 大串中的最大串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1512899/