计算一行字母和空格组成的字符串中,单词的个数
时间: 2023-06-19 20:08:49 浏览: 51
可以采用遍历字符串的方式,遇到一个非空格字符时就将单词计数器加1,然后继续遍历直到字符串尾部。需要注意的是,如果字符串的开头有空格,需要先将开头的空格跳过,否则会将第一个单词的计数漏掉。
以下是示例代码:
```python
def count_words(s):
count = 0
i = 0
n = len(s)
while i < n:
# 跳过开头的空格
while i < n and s[i] == ' ':
i += 1
if i < n:
# 遇到一个非空格字符,将计数器加1
count += 1
# 继续遍历,直到遇到下一个空格或字符串尾部
while i < n and s[i] != ' ':
i += 1
return count
```
使用示例:
```python
s = 'Hello world !'
count = count_words(s)
print(count) # 输出:2
```
这个示例中,字符串中包含两个单词 "Hello" 和 "world",因此计数器的值为 2。注意,字符串中的多个空格会被当作一个空格处理。
相关问题
计算一行字母和空格组成的字符串中,单词的个数,只用c,不用指针
可以使用一个计数器变量,从头到尾遍历字符串,遇到空格就把计数器加1,最后返回计数器加1的值即可。
示例代码:
```c
#include <stdio.h>
int count_words(char str[]) {
int count = 0;
int i = 0;
while (str[i] != '\0') {
if (str[i] == ' ') {
count++;
}
i++;
}
return count + 1;
}
int main() {
char str[] = "hello world how are you";
int count = count_words(str);
printf("There are %d words in the string.\n", count);
return 0;
}
```
输出:
```
There are 5 words in the string.
```
c语言编程 统计一行字符串中单词的个数(不超过80字符)。规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[80];
int i, count = 1; // 初始化为1,因为一行的开始没有空格
printf("请输入一行字符串(不超过80字符):");
gets(str);
for (i = 0; i < strlen(str); i++) {
if (str[i] == ' ') {
count++; // 遇到空格,单词数加一
}
}
printf("单词数为:%d\n", count);
return 0;
}
```
这个程序中,我们使用 gets() 函数从键盘输入一行字符串,然后用一个循环遍历字符串中的每个字符。如果遇到一个空格,就说明前面的部分是一个单词,将单词数 count 加一。最后输出单词数。注意,我们在循环外面将 count 初始化为 1,因为一行的开始没有空格,是一个单词。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)