问题:从stdin读取3个数字并将其总和打印到stdout。约束:1 <= a,b,c = <1000。
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int sum = 0;
int x, y, z;
cin >> x >> y >> z;
sum = x + y + z;
cout << sum << endl;
return 0;
}
这正在起作用,但是如何照顾1 <= a,b,c = <1000?
问题是,“没有输入将小于1或大于1000”。
您可以相应地选择类型。例如,最大总和为1000 + 1000 + 1000,因此,如果您的类型(int
)可以在您的平台上保留该值,那么您就是黄金。
这也可能意味着您可以选择对超出该范围的值进行验证或测试,但是如果不清楚,则应与您的指导者联系。无论如何,您可能仍希望执行此验证,以verify传递数据的任何人都遵守约束。通常,是否值得这样做取决于情况。对于教育而言,给出的约束似乎意味着“您无需担心这样做”。也许将来的任务将涉及不受约束的输入。
将x,y和z的数据类型声明为int的事实确保了值的范围将在-2147483648到2147483647之间,这是C ++中int(4字节)的默认值范围。] >