计算C ++中给定字符串中的单词

给出的句子或字符串包含单词,单词之间可以包含空格,换行符和制表符。任务是计算字符串中的单词总数并打印结果。

输入-字符串str =“欢迎使用\ n nhooo.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