C++如何在给定范围内添加数组中的数字?

标签 c++ arrays

我正在为类作业做作业,但很难将其组合在一起。我刚开始学习数组,不确定如何在数组中获取用户输入。

这是作业提示:创建一个程序,输入最多 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/

相关文章:

c++ - 如何在调整 GLFW 窗口大小时绘制?

c++ - 如果通过lambda函数对象返回对局部变量的引用,会发生什么情况?

arrays - 在 Swift 中查找字符串数组的模式

java - 用于拆分字符串以获取运算符的正则表达式

android - 修改 gradle 中的 cmake 参数以使用 C++ 库在 Android 项目中进行检测

c++ - C++ 中的通用工厂

c++ - OSG : Camera flight with AnimationPathManipulator

c - 内存分配和动态内存分配

javascript - 如何在 express.js 中获取请求查询参数的数量?

ios - Swift:创建一个 UIImage 数组