Не выводится цикл while и printf - C (СИ)
Формулировка задачи:
Совсем недавно начал изучение С по учебнику "Стивен Прата - Язык С, 5е издание" плюс хожу на курсы КА ШАГ, программирую в Microsoft Visual Studio Enterprise 2017 (Version 15.2 (26430.6) Release).
Если запустить, не работает 2й цикл while и cout. Очень прошу хотя бы намекнуть в чём может быть причина.
#include <iostream>
#include <stdio.h>
using namespace std;
void main() {
setlocale(LC_ALL, "RUS");
/*
1. Даны целые числа K и N (N > 0). Вывести N раз число K.
*/
int K = 0;
int N = 0;
int i = 0; //счётчик итераций циклов
int input_result = 0; //для проверки правильности ввода 2х значений
while (1) {
cout << "Введите числа K и N (N > 0), неправильный ввод \n"
"приведёт к завершению работы приложения: ";
input_result = scanf("%d %d", &K, &N);
if (N <= 0 || input_result != 2)
break;
cout << "\n";
cout << "Цикл "for": ";
for (int i = 0; i < N; i++)
cout << K << " ";
cout << "\n\n";
cout << "Цикл "while": ";
while (i < N) {
cout << K << " ";
i++;
}
cout << "\n\n";
cout << "Цикл "do while": ";
i = 0;
do {
cout << K << " ";
i++;
} while (i < N);
cout << "\n\n";
}
/*
2. Даны два целых числа A и B (A < B). Вывести в порядке
возрастания все целые числа, расположенные между A и B
(включая сами числа A и B), а также количество N этих чисел.
*/
int A = 0;
int B = 0;
for (;;) {
cout << "Введите числа A и B (A < B), неправильный ввод \n"
"приведёт к завершению работы приложения: ";
input_result = scanf("%d %d", &A, &B);
if (A >= B || input_result != 2)
break;
cout << "\n";
cout << "Цикл "for": ";
for (int i = A; i <= B; i++)
cout << i << " ";
cout << "\n\n";
cout << "Цикл "while": ";
i = A;
while (i <= B) {
//printf("%d",i);
cout << i << " ";
i++;
}
cout << "\n\n";
cout << "Цикл "do while": ";
i = A;
do {
cout << i << " ";
i++;
} while (i <= B);
N = B - A + 1;
cout << "Количество чисел между " << A << " и " << B <<
" включая " << A << " и " << B << " = " << N;
}
cout << "\n\n";
}Решение задачи: «Не выводится цикл while и printf»
textual
Листинг программы
i = A;
B = 0;
while (i <= B) {
//printf("%d",i);
printf("%d ", i);
i++;
}
Объяснение кода листинга программы
- Переменная
iприсваивается значениеA. - Переменная
Bприсваивается значение 0. - Запускается цикл while, который будет выполняться до тех пор, пока значение переменной
iне станет больше значения переменнойB. - Внутри цикла while выполняется команда printf, которая выводит значение переменной
i. - После команды printf выполняется команда i++, которая увеличивает значение переменной
iна 1. - После окончания цикла while программа продолжает работу со следующей строкой кода.