计算一个句子中单词的个数C语言与Python实现

以空格分隔为一个单词,计算一个句子中的单词总数。

C语言实现

#include<stdio.h>
#include<string.h>

int main()
{
    
    
	char str[80]; 
	int word = 0, num = 0;
	// 1.获取输入的字符串
	printf("请输入一句话:\n");
	gets(str);
	// 2. 循环遍历字符串每个字符
	for(int i=0; str[i] != '\0'; i++)
	{
    
    
		// 3.其实 word=0, 表示前面是空格, 当出现一个字符,就会执行 else if 语句,表示得到一个单词
		//   此后word = 1, 知道再次循环到到 空字符,该单词结束,依次循环。 word 作为一个标志变量
		if(str[i] == ' ')
			word = 0;
		else if(word == 0)
		{
    
    
			word = 1;
			num ++;
		}
	}
	printf("%d\n", num);
	return 0;
}

Python实现

  • 利用函数很容易实现,当然也可以模仿着 C中的步骤用python实现,不借助函数
str1 = input("请输入一个句子:")
str1_list = str1.split()
print(len(str1_list))

Python实现升级:确定每个单词出现的个数

str1 = 'i am a luck dog , you are a luck dog ! my life is short, i use python, you ?'

dc = {
    
    }
# 首先还是以空格分出来 单词
l1 = str1.split()
# 列表元素去重
l2 = list(set(l1))
for i in l2:
    # 统计单词出现次数,并存入字典
    dc[i] = l1.count(i)
print(dc)
  • 总体来说,python提供的方法是在很多,要熟悉这些方法。
  • C语言解题,首先想实现步骤,算法规律。 python解决问题,只要想出整体 思路, 然后很多细节步骤,会被封装起来,直接寻找使用。

猜你喜欢

转载自blog.csdn.net/pythonstrat/article/details/112787274