直到输入为0(零)的数字序列
Sequence of numbers until the input is 0 (zero)
我不知道如何制作以下内容。我想输入一个数字序列,当我输入0时,停止cin(就像我点击enter),并自动计数只有那些数字谁(数字%2==0)在另一行。有可能用功能来完成吗?我希望你能理解我:)
例如,我输入123456785435430(我输入了'0',所以cin立即停止并计数我2 4 6 8 4 43)
下面是一个简单的版本,它使用给定的分隔符
#include <iostream>
using namespace std;
string input_until_delimiter (char delimiter)
{
string buffer = new string ();
char c = delimiter;
while ((c = get()) != delimiter) buffer += c;
return buffer;
}
你需要一些类似这样的东西:
char x;
std::vector<int> evens;
do {
std::cin.get(x);
int v = x - '0'; // int value
if (v % 2 == 0 and v != 0)
evens.push_back(v);
} while (x != '0');
for (std::vector<int>::iterator it = evens.begin(); it != evens.end(); ++it)
std::cout << (*it) << " ";
这是你练习的版本:
#include <vector>
#include <iostream>
void brc() {
int x;
std::cin >> x;
if (x == 0) return;
if (x % 2 == 0)
std::cout << x << " ";
brc();
}
int main() {
brc();
return 0;
}
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 检查输入是否不是整数或数字
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- 如何用数字处理log(0)
- 当套接字连接断开时检测C/C++Unix
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 最高有效数字侧的第N位
- 如何获取一个数字的前3位
- 我怎么不能按课程代码的降序对数字进行排序
- 如何安全地将有符号字段从uint32_t提取到有符号数字(int或uint32_t)中
- 如何检查字段中输入的数字是否重复
- 在编译时根据字节序定义位字段
- 查找升序列表中降序的第一个和最后一个数字
- 用户定义字面值如何与数字分隔符一起使用
- 我将ASCII字转换成数字,但我一直试图解码它们.如何转换1=a, 2=b, 28=ab等?(psudeocode好)
- 一个数字和字段宽度的格式化输出,C++标准在哪里说明它
- linux/freebsd中的套接字描述符是否保证具有几乎连续的或可比较的数字?
- 概率以数字降序递增
- 使用constexpr将数字转换为字符串字面值