编写一个程序,要求用户输入任何句子,最多50个字符。然后程序将告诉句子中有多少单词以及句子中有多少个字符。不要计算空字符。然后程序将向后显示该句子。程序必须使用一个函数来确定句子中有多少单词,并通过返回值函数传回这些信息。
示例输出如下:
输入一些句子: 这很有趣!
你的句子有3个字。 你的句子有12个字符。
你的判决结果如下: !nuf si sihT
*****我完成了大部分工作只需要一些帮助来计算字符并使函数工作*****
#include <iostream>
#include <string>
using namespace std;
int Words(char Line[]);
int main ()
{
string text;
cout << "Enter some Sentence: ";
getline(cin, text);
text = string(text.rbegin(), text.rend());
cout << "Your sentence backwards is as follows: " << text << endl;
return 0;
}
int Words (char Line []);
{
int CharCount = 0;
const int Size = 50;
char Sentence [Size];
int WordCount = 0;
cout << "Enter Some Sentence: ";
cin.getline(Sentence, 50);
for (int i =0; Sentence[i]!='\0'; i++)
{
if (Sentence[i] == ' ')
{
WordCount++;
}
}cout << "The number of words = " << WordCount+1 <<endl;
return 0;
}
答案 0 :(得分:0)
您可以使用与流提取运算符结合的用户输入句子构造的istringstream
来计算单词。
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int words(string sentence)
{
istringstream in{sentence};
string one;
int count = 0;
while(in >> one)
++count;
return count;
}
int main()
{
cout << words("just two") << '\n';
cout << words("A whole bunch of words!") << '\n';
cout << words("ONE!!!!") << '\n';
return 0;
}