Пользователь вводит две границы диапазона. Посчитать сумму всех чисел диапазона. цикл while c++ постоянно выдает a. Помогите.
int res = 0, i = 1, a = 0;
cout > i;
cout > a;
while (i <= a)
{ res += i; ++i; cout << "Сумма чисел " << res << endl;
return 0; } }
Ответы на вопрос
У вас сразу несколько ошибок:
-
Для ввода используется
cin, а неcout. -
Оператор ввода записывается как
>>, а вывода — как<<. -
Счётчик цикла нужно начинать с первой границы диапазона, а не с
1. -
return 0нельзя помещать внутрь цикла, иначе программа завершится после первой итерации. -
Итоговую сумму обычно выводят после окончания цикла.
Исправленный вариант:
C++#includeusing namespace std;int main() { int a, b; int res = 0; cout << "Введите две границы диапазона: "; cin >> a >> b;
int i = a;
while (i <= b) { res += i; ++i; }
cout << "Сумма чисел диапазона: " << res << endl;
return 0; }
Например, если пользователь введёт:
3 6
цикл сложит числа:
3 + 4 + 5 + 6 = 18
Чтобы программа работала и в случае, когда пользователь сначала вводит большую границу, например 6 3, границы можно поменять местами:
C++#includeusing namespace std;int main() { int a, b; int res = 0; cout << "Введите две границы диапазона: "; cin >> a >> b;
if (a > b) { int temp = a; a = b; b = temp; }
int i = a;
while (i <= b) { res += i; ++i; }
cout << "Сумма чисел диапазона: " << res << endl;
return 0; }
В исходном коде строки
C++cout > i; cout > a;
не выполняют ввод. Правильно:
C++cin >> i; cin >> a;
Кроме того, у вас вывод и return 0 находятся внутри while:
C++while (i <= a) { res += i; ++i; cout << res; return 0; }
Из-за return 0 программа прекращает работу уже после первого прохода цикла. Поэтому return 0 должен находиться после закрывающей фигурной скобки цикла.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

