计算一系列数字内的区间中的数字

时间:2014-02-20 15:41:43

标签: c++ while-loop

所以当你输入一个可被3整除的数字时,我会有一系列数字停止。 我必须计算这个系列中的数字,这些数字也包含在一个设定的时间间隔内(例如[a,b]),然后显示它们。

#include <iostream>
using namespace std;

int main() {
    unsigned n, a, b, k = 0, x;
    cout << "a="; cin >> a;
    cout << "b="; cin >> b;
    cout << "n="; cin >> n;
    while(!(n % 3 == 0))
    {
        if (a < n && n < b)
        {
            k++;
            x = n;
        }

        cout << "n="; cin >> n;
    }

    cout << "No. of numbers from the interval " << k << endl;
    cout << "The numbers from the interval " << x << endl;

    return 0;
}

如果我输入7个数字,它会显示k 6x 4294967294的值。 对于ab,我使用了179这两个值,我只提供了从n1的{​​{1}}个值。

1 个答案:

答案 0 :(得分:0)

以下可能有所帮助:https://ideone.com/Ig8PEd

#include <iostream>
#include <vector>

int main() {
    unsigned n, a, b;
    std::cout << "a="; std::cin >> a;
    std::cout << "b="; std::cin >> b;
    std::cout << "n="; std::cin >> n;
    std::vector<int> v;
    while (n % 3 != 0) {
        if (a < n && n < b) {
            v.push_back(n);
        }
        std::cout << "n="; std::cin >> n;
    }

    std::cout << "No. of numbers from the interval " << v.size() << std::endl;
    std::cout << "The numbers from the interval:" << std::endl;
    for (std::size_t i = 0; i != v.size(); ++i) {
        std::cout << v[i] << " ";
    }
    return 0;
}