C ++函数,它接受多个数字并执行不同的作业

时间:2013-07-15 16:08:53

标签: c++ function operation

我有一个练习,我应该输入多个以零结束的数字,然后用它们执行不同的计算。到目前为止,我已经创建了一个do..while - 循环来存储数字。有人告诉我这可能没有阵列,如果有错,请马上告诉我。我需要做的功能是将所有数字加在一起,找到最高数字和第二高数字,以及所有数字的中间(平均)值。 我认为我应该使用不同的库,也可能有不同的选项。 请帮助我了解不同的库以及如何使用它们。 我在网上找到的搜索结果并没有给我我想要的答案,因为我找不到类似的问题。 到目前为止,这是我的代码:

#include<iostream>
#include<string>

using namespace std;

int sumCalc (int);
int midValCalc (int);
int secHighCalc (int);
int highestCalc (int);
void printCalc ();


int main()  {

    int nums;
    cout << "Input numbers, quit with 0: ";

    do {
        cin >> nums;
        cout << nums << " ";    // This is just to see the result    
    }
    while (nums != 0);

    return 0;
}

这个添加功能有什么问题?

int sumCalc (int total)   {

total = 0;
while (nums != 0) {
    total += nums;
}

return nums;

}

2 个答案:

答案 0 :(得分:5)

我认为你不需要任何不寻常的库。

想想你如何在心理上计算这些事情。例如,如果您要将我读过的数字列表相加,您只需跟踪运行总数,并在添加数字时忘记每个数字 - 这样只需要一个变量。如果你想跟踪输入的最大数字,你只需记住你到目前为止看到的最大数字,并在你得到它们时比较新数字。

你可以解决这些问题。

答案 1 :(得分:1)

如果您需要获得平均数字,最高数字和第二高数字,则不需要数组(您不需要存储数字)

基本上,您可以跟踪用户输入的最高和第二高数字,如果用户输入的数字高于这些数字,您可以相应地进行调整。

至于平均值,您还可以保留一个运行总和和计数(输入的数字的数量),您可以使用它来随时计算平均值。