C++计算数字(不是字符串)之间的空格

标签 c++ vector

所以我有一个程序,它从用户那里获取整数并将它们放入一个 vector 中并显示它们。但是,我希望能够显示我在输入数字时输入的数字之间的空格总数。我在网上看了看,但找不到任何适用于整数或字符的东西。我不能使用字符串或 getline 现在所以我不知道该怎么做.. 这是我的代码

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int a,count;
    vector<int> numbers;
    while(cin>>a)
    {
       numbers.push_back(a); 
       // count whitespaces??
    }
    for(int i=0;i<numbers.size();i++)
    {
        cout<<numbers[i]<<endl;
    }
    return 0;
}

所以如果输入是 1(空格)2(空格)(空格)3(空格) 我希望能够计算两者之间的总空间所以在这种情况下计数为 4

最佳答案

试试 getline():

string str;
getline(cin,str);

然后计算str中的空白:

int wc = 0;
for (auto c: str) wc += (c == ' ');
cout << wc << endl;

关于C++计算数字(不是字符串)之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59098154/

相关文章:

c++ - 如何删除元组初始化 vector 中的样板?

c++ - 使用 SSE/AVX 在 Ivy Bridge 上进行最大 SIMD 整数乘法?

c++ - 结构体赋值错误

c++ - Vector2 运算符改进

javascript - 使用 CSS3 或 JS 用图案覆盖透明黑色剪影 PNG 的可见区域

c++ - 使用对 vector 时出现无效、错误的数字模板参数错误

c++ - 在运行递归函数时将新元素插入 vector 时出现问题

java - 将 Vector 元素从一个类更改为另一类

c++ - 链接器错误 : undefined reference to symbol 'pthread_rwlock_trywrlock@@GLIBC_2.2.5'

c++ - C++ 中的递归 header 包含错误