Обнуление переменных (неправильная работа приложения) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый день, подскажите, почему такое может получаться (компилятор VS2013 pro). Данное приложение зацикливается само в себя и при каждом входе в цикл обнуляет переменные на введенные перед циклом
#include <stdio.h>
main()
{
    int fahr, celsium;
    int lower, upper, step;
 
    lower = 0;
    upper = 300;
    step = 20;
 
    fahr = lower;
    while (fahr <= upper) {
        celsium = 5 * (fahr-32) / 9;
        printf("%d\t%d\n", fahr, celsium);
        fahr = fahr + step;
    }
}
При этом приложение не выходит из цикла. Пример выводимых данных

Решение задачи: «Обнуление переменных (неправильная работа приложения)»

textual
Листинг программы
#include <stdio.h>
main()
{
    int fahr, celsium;
    int lower, upper, step;
 
    lower = 0;
    upper = 300;
    step = 20;
 
    fahr = lower;
    while (fahr <= upper) {
        celsium = 5 * (fahr-32) / 9;
        printf("%d\t%d\n", fahr, celsium);
        fahr = fahr + step;
    }
}
 
 
Output:
 0  -17
20  -6
40  4
60  15
80  26
100 37
120 48
140 60
160 71
180 82
200 93
220 104
240 115
260 126
280 137
300 148

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

В данном коде на языке C выполняется преобразование температуры из градусов Фаренгейта в градусы Цельсия. Список действий:

  1. Объявляются переменные:
    • fahr - переменная для хранения температуры в градусах Фаренгейта;
    • celsium - переменная для хранения температуры в градусах Цельсия;
    • lower - переменная для хранения нижней границы диапазона температур в градусах Фаренгейта;
    • upper - переменная для хранения верхней границы диапазона температур в градусах Фаренгейта;
    • step - переменная для хранения шага увеличения температуры в градусах Фаренгейта.
  2. Присваиваются значения переменным:
    • lower = 0;
    • upper = 300;
    • step = 20.
  3. Устанавливается начальное значение переменной fahr равное значению переменной lower.
  4. Запускается цикл while, который выполняется до тех пор, пока значение переменной fahr не станет больше или равным значению переменной upper.
    • Выполняется преобразование температуры из градусов Фаренгейта в градусы Цельсия по формуле: celsium = (5 * (fahr-32) / 9).
    • Выводится на экран текущее значение переменной fahr и соответствующее ему значение переменной celsium.
    • Увеличивается значение переменной fahr на значение переменной step.
  5. По завершении цикла while выводится сообщение об окончании вывода значений.

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


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

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

12   голосов , оценка 3.75 из 5
Похожие ответы