题目链接:
首先,我们观察题目,题目中要我们算出存在单词数量最多的句子,通过观察,我们发现一个句子中的单词数量总是比空格的数量多1,也就是说我们只要知道了一个句子中空格的数量就能知道单词的数量了。
我们可以设一个sapce变量,用来统计空格,初值为1,可以使用嵌套循环,外层变量控制每一个句子,内层循环控制访问句子中的每一个单词。如果遇到了“空格”字符,space就+1。
当内层循环结束之后,space变量和max变量进行比较,这样求出来的就是一个句子中最多的单词数,最后返回max
值得注意的是,外层循环每次开始时都要把space置为1,因为每一句中的单词数都要重新统计
代码如下:
int mostWordsFound(char ** sentences, int sentencesSize){
int space = 1;
int max = 0;
for(int i = 0;i < sentencesSize;i++)
{
space = 1;
for(int j = 0;sentences[i][j] != '\0';j++)
{
if(sentences[i][j] == ' ')
{
space++;
}
}
if(max < space)
{
max = space;
}
}
return max;
}