Не выводится цикл 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++;
        }

Объяснение кода листинга программы

  1. Переменная i присваивается значение A.
  2. Переменная B присваивается значение 0.
  3. Запускается цикл while, который будет выполняться до тех пор, пока значение переменной i не станет больше значения переменной B.
  4. Внутри цикла while выполняется команда printf, которая выводит значение переменной i.
  5. После команды printf выполняется команда i++, которая увеличивает значение переменной i на 1.
  6. После окончания цикла while программа продолжает работу со следующей строкой кода.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5