输入一个字符串,输入的只有两种字符,一种是字母,一种是空格。现在求一共有几个单词。注意,有可能有多个空格连在一起,开头和结尾都有可能有空格。 输入描述 一行字符串 输出描述 单词的个数 用例输入 1 用C语言
时间: 2024-11-13 08:23:06 浏览: 20
在C语言中,你可以通过遍历字符串并利用空格作为分隔符来计算单词的数量。下面是一个简单的算法步骤:
1. 初始化一个整数`word_count`用于计数,设置为0。
2. 使用`strlen()`函数获取输入字符串的长度。
3. 遍历字符串,使用`while`循环,从第二个字符开始检查:
a. 如果当前字符是空格,则表示上一个字符是单词结束,将`word_count`加一。
b. 如果当前字符不是空格,继续到下一个字符。
4. 循环结束后,最后一个非空格字符也视为一个单词,所以再把`word_count`加一。
5. 返回`word_count`作为结果。
以下是这个算法的伪代码示例:
```c
int count_words(char* input) {
int word_count = 0;
int i = 1; // 开始于第二个字符
while (input[i] != '\0') { // 遍历字符串直到结束
if (input[i] == ' ') { // 空格
word_count++;
} else {
i++; // 非空格,继续查找下一个字符
}
}
// 包含最后一个非空格字符也算作一个单词
if (input[i - 1] != ' ') {
word_count++;
}
return word_count;
}
```
用例输入1:
例如输入字符串 "Hello World How are you?",调用 `count_words("Hello World How are you?")` 将返回6,因为有6个单词。
阅读全文