计算C ++中给定字符串中的单词
给出的句子或字符串包含单词,单词之间可以包含空格,换行符和制表符。任务是计算字符串中的单词总数并打印结果。
输入-字符串str=“欢迎使用\nnhooo.com\t”
输出-字符串中的单词数为-4
说明-字符串中有四个单词,即,欢迎使用,教程,重点,其余为空格(“”),单词之间的下一行字符(\n)和制表符(\t)。
输入-字符串str=“\nhonesty\t是最佳策略”
输出-字符串中的单词数为-5
解释-字符串中有四个词,即诚实,最佳,策略,其余为空格(“”),两个词之间的下一行字符(\n)和制表符(\t)。
以下程序中使用的方法如下
为此可以有多种解决方案。因此,让我们首先看一下下面的代码中使用的更简单的方法:
创建一个char类型的数组来存储字符串,例如str[]
声明两个临时变量,一个是计数以计数字符串中的单词数,另一个是执行标记操作的临时变量
启动循环,当str不为null时
在循环内,检查IF*str=空格或*str=下一行或*str=制表符,然后将temp设置为0
否则,如果temp=0,则将temp设置为1,并将count的值增加1
将str指针增加1
返回计数值
打印结果
示例
#include using namespace std; //计算给定字符串中的单词 int total_words(char *str){ int count = 0; int temp = 0; while (*str){ if (*str == ' ' || *str == '\n' || *str == '\t'){ temp = 0; } else if(temp == 0){ temp = 1; count++; } ++str; } return count; } int main(){ char str[] = "welcome to\n nhooo.com\t"; cout<<"Count of words in a string are: "<<total_words(str); return 0; }
输出结果
如果我们运行上面的代码,它将生成以下输出-
Count of words in a string are: 4