c++程序,用于计算文本中的空白数



为什么这个程序不能正常工作?

#include <iostream>
using namespace std;
int main()
{
char x;
int counter;
while (x != '.') {
cin >> x;
if (x == ' ') {
counter++;
}
}
cout << counter;
}

我也尝试用空格字符的ascii码代替' '
,但是没有结果。

正如其他人指出的,您没有初始化x和计数器变量。我不知道这个练习的实际指令是什么,但是我写了一个简单的程序来计算输入字符串中的空格数。

#include <iostream>
#include <string>
int main()
{
int counter = 0;
std::string text;
std::getline(std::cin, text);
for (const auto &c : text) {
if (c == ' ') {
counter++;
}
}

std::cout << "Number of white spaces: " << counter << std::endl;
}

我们一步一步来。首先,我们需要一个计数器来计算空格的数量,我们需要将其初始化为0。我们还需要一些字符串,用来计数。在我们的例子中,这是文本。用户会写一些东西,我们会把它保存在可变文本中。之后,我们将使用c++ 11中引入的循环来遍历每个字符并检查character是否为空格。如果character是空格,则递增计数器。在for循环结束时,我们可以输出空格的数目。看起来很简单,不是吗?

最新更新