C ++ функции, которые принимают несколько чисел и выполняют разные задания

У меня есть упражнение, в котором я должен ввести несколько чисел, которые заканчиваются нулями, а затем выполнять различные вычисления с ними. До сих пор я создал 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

Решение

Я не думаю, что вам нужны какие-то необычные библиотеки для этого.

Подумайте, как бы вы посчитали эти вещи мысленно. Например, если вы хотите суммировать список чисел, которые я вам зачитал, вы просто будете следить за промежуточным итогом и забывать каждое число по мере его добавления — так что нужна только одна переменная. Если вы хотите отследить введенное наибольшее число, опять же, вы просто помните самое большое, которое вы когда-либо видели, и сравниваете новые числа по мере их получения.

Вы, вероятно, можете решить это.

5

Другие решения

Если вам нужно получить среднее и старшее и второе по величине число, вам не нужен массив (вам не нужно хранить числа)

По сути, вы можете отслеживать самые высокие и вторые по величине числа, которые пользователь ввел, и если пользователь вводит число, большее, чем те, вы можете настроить соответственно.

Что касается среднего значения, вы также можете сохранить промежуточную сумму и количество (количество введенных чисел), которое вы можете использовать для расчета среднего значения, когда вам нужно.

1

По вопросам рекламы [email protected]