AcWing 722. 数字序列和它的和 ---- C++ 类封装调用
原题链接
中等
作者:
cheng2099
,
2021-01-16 18:25:37
,
所有人可见
,
阅读 402
#include <iostream>
#include <algorithm>
using namespace std;
class Data {
friend istream& operator>>(istream&, Data&);
friend ostream& operator<<(ostream&, const Data&);
public:
Data() = default;
public:
bool conNext();
public:
int x, y;
};
istream&
operator>>(istream& in, Data& d) {
in >> d.x >> d.y;
if (d.x > d.y) {
swap(d.x, d.y);
}
return in;
}
ostream&
operator<<(ostream& out, const Data& d) {
if (d.x <= 0) {
return out;
}
int sum = 0;
for (int i = d.x; i <= d.y; i++) {
cout << i << " ";
sum += i;
}
cout << "Sum=" << sum << endl;
return out;
}
bool Data::conNext() {
if (x <= 0) {
return false;
}
return true;
}
int main() {
Data data;
cin >> data;
cout << data;
while (data.conNext()) {
cin >> data;
cout << data;
}
return 0;
}