C 如何比较两个字符串并返回相同的字数?
我正在用C语言编写代码,但我还没有一种有效的方法来进行比较,如果有人能帮助我,我将不胜感激 示例: W1:白色墙壁的大房子 W2:房屋墙壁C 如何比较两个字符串并返回相同的字数?,c,string,compare,words,C,String,Compare,Words,我正在用C语言编写代码,但我还没有一种有效的方法来进行比较,如果有人能帮助我,我将不胜感激 示例: W1:白色墙壁的大房子 W2:房屋墙壁 返回:2在思考如何解决问题时,将问题分解为几个步骤,您可以清楚地看到如何进行,以及这些步骤是如何朝着解决方案前进的。对于这样的事情,通常的方法是 复制每个字符串 对于每个字符串,创建一个指向char*的指针数组,其中 指向复制的字符串,然后 解析为“单词”(在所有非单词字符处放置'\0') 在字符串数组上运行qsort 然后,有两个排序的指向单词的指针数
返回:2在思考如何解决问题时,将问题分解为几个步骤,您可以清楚地看到如何进行,以及这些步骤是如何朝着解决方案前进的。对于这样的事情,通常的方法是
- 复制每个字符串
- 对于每个字符串,创建一个指向
的指针数组,其中char*
- 指向复制的字符串,然后
- 解析为“单词”(在所有非单词字符处放置
)'\0'
- 在字符串数组上运行
qsort
strcmp
编写一个循环来检查单词的相等性。我建议使用strcmp
,因为(因为数组是排序的)很容易检查两个数组中的一个或另一个是否缺少单词
复制/解析/排序部分自然是一个函数,给定一个字符串并返回指针数组.请添加一个您迄今为止尝试过的示例。我删除代码是因为我对代码感到不安…我会再次尝试:先将SIn切分为单词,如果句子短,如果长排序(和统一?),则使用
str
,然后进行比较。