Не выводится цикл 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 программа продолжает работу со следующей строкой кода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д