#c
#c
Вопрос:
Я использую цикл do-while, который попросит пользователя ввести положительные числа. Программа завершится, когда я введу нулевое (0) число. Затем он вычислит сумму всех введенных мной чисел и отобразит ее.
#include <iostream>
using namespace std;
int main () {
int end = 0;
int num1;
do {
cout << "Enter a number:";
cin >> num1;
cout << "n" << endl;
} while (end != num1);
{
cout << "sum = " << num1 num1;
}
}
Комментарии:
1. Вы всегда перезаписываете
num1
— вам нужно использовать какой-то контейнер для хранения всех входных данных (например: astd::vector<int>
)2. Определите другую переменную (скажем
sum
) и инициализируйте ее равным нулю перед циклом. В теле цикла (так происходит на каждой итерации цикла) добавьтеnum1
tosum
.3. сложите числа внутри цикла
4. Для вычисления суммы списка чисел вам не нужно или вы не хотите хранить отдельные числа в некотором массиве или векторе. Вы просто добавляете по ходу.
5. Я исправил это, и я все еще учусь больше. Спасибо за все идеи.
Ответ №1:
это простая программа. вы можете добавить в него код для исключения
#include <iostream>
using namespace std;
int main() {
int n=0;
int sum=0;
do {
cin>>n;
sum =n;
}while(n); // this loop will break when n=0
cout<<sum;
}
Комментарии:
1. Спасибо, теперь я понимаю. Я все еще учусь, и мне не терпится узнать больше
Ответ №2:
Вам нужно указать какую-то sum
переменную, которую вы будете увеличивать каждую итерацию на введенное число.
Возможное решение:
#include <iostream>
int main() {
int sum = 0;
// '10' can be changed according to how many numbers you want to input
for (int i = 0; i < 10; i ) {
int temp;
std::cin >> temp;
sum = temp;
}
std::cout << sum << std::endl;
return 0;
}