第3章-15 统计一行文本的单词个数 (15 分)

本文介绍了一个简单的程序设计任务:统计一行字符中的单词数量。单词被定义为不含空格的连续字符串,并通过一个或多个空格分隔。文章提供了输入输出格式及样例,展示如何使用Python的split方法实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let’s go to room 209.
输出样例:
5

str=input().split()
print(str)
print(len(str))

# Str=input()
# print(Str)
# print(len(Str))
# Let's go to room 209.
# input().split() len(str)结果是以" "作为计数单位 -5
# input()         len(str)结果是以单个字符作为计数单位 -21

在C语言中统计一行文本中的单词个数,可以采用以下步骤: 1. **初始化计器**:创建一个整型变量,用于存储单词量,初始值设为0。 2. **读取输入行**:从用户输入或文件中获取一行文本,并将其存储到一个字符组中。 3. **处理隔符**:遍历字符组,遇到空格、换行符或其他非字母字字符时,表示当前单词结束。如果到达字符串结尾还没有遇到隔符,则最后一个单词算作一个。 4. **更新计**:每当找到隔符,就将计器加一。 5. **处理边界条件**:对于首尾的空格,需要特殊处理。如果是开头的第一个空格,跳过;如果是结尾的空格,虽然不是单词的一部,也要计入总词。 6. **返回结果**:最后,计器就是该行文本中的单词。 下面是一个简单的示例代码片段: ```c #include <stdio.h> #include <ctype.h> int count_words(char* line) { int word_count = 0; char* p = line; // 指针指向字符组 while (*p != &#39;\0&#39;) { // 遍历整个字符串 if (isspace(*p)) { // 如果是空格 if (*(p - 1) == &#39;\0&#39;) break; // 到达开头的空格忽略 else ++word_count; // 否则增加单词 } else if (isalpha(*p)) { // 如果是字母 while (isalnum(*p)) p++; // 跳过单词内的空格和其他非字母字字符 } p++; } // 包含最后一个单词 if (*p == &#39;\0&#39; && isalpha(line[strlen(line) - 1])) word_count++; return word_count; } int main() { char input[100]; printf("请输入一行文本:"); fgets(input, sizeof(input), stdin); input[strcspn(input, "\n")] = &#39;\0&#39;; // 删除末尾的换行符 int wordCount = count_words(input); printf("该行文本中有 %d 个单词。\n", wordCount); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值