我正在为类作业做作业,但很难将其组合在一起。我刚开始学习数组,不确定如何在数组中获取用户输入。
这是作业提示:创建一个程序,输入最多 100 个整数(空格分隔!)并输出它们的总和。例如:
1 2 3 4 5 6 7 8 9 10 55
这是我目前所拥有的(编辑因为我忘记更改评论):
#include <iostream>
using namespace std;
int addNum(int n);
int main() {
int n;
// prompt user to input numbers
cout << "Please enter in values to add together: ";
cin >> n;
cout << addNum(n);
// pause and exit
getchar();
getchar();
return 0;
}
// function
int addNum(int n) {
int arr[99] = {};
int sum = 0;
for (int i = 0; i < n; i++) {
sum = sum + arr[i];
}
return sum;
}
最佳答案
由于这是一个学习练习,我不会更正您的代码,但会解释您目前遗漏的内容:
- 作业要求读取整数,直到没有更多输入为止;您的代码会提示用户预先输入计数,这应该被删除。
- 您不需要数组来存储单个数字,因为作业只要求总数。这可以即时计算:读取一个数字,将其添加到
sum
,然后忘记该数字。 - 您可以使用下面使用
>>>
运算符的简单循环读取数字,直到输入结束。
这是一个将输入限制为 100 个数字或在输入流结束时停止的示例:
int limit = 0;
int nextNumber;
while ((limit++ != 100) && (cin >> nextNumber)) {
... // Process the next number
}
如果你从控制台给你的程序输入(而不是给它一个数字文件)并且你需要结束你的输入序列,按Ctrl+z在 Windows 上或 Ctrl+d 在 UNIX 上。
关于C++如何在给定范围内添加数组中的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45490290/