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

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

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

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

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

textual
Листинг программы
  1. #include <stdio.h>
  2. main()
  3. {
  4.     int fahr, celsium;
  5.     int lower, upper, step;
  6.  
  7.     lower = 0;
  8.     upper = 300;
  9.     step = 20;
  10.  
  11.     fahr = lower;
  12.     while (fahr <= upper) {
  13.         celsium = 5 * (fahr-32) / 9;
  14.         printf("%d\t%d\n", fahr, celsium);
  15.         fahr = fahr + step;
  16.     }
  17. }
  18.  
  19.  
  20. Output:
  21.  0  -17
  22. 20  -6
  23. 40  4
  24. 60  15
  25. 80  26
  26. 100 37
  27. 120 48
  28. 140 60
  29. 160 71
  30. 180 82
  31. 200 93
  32. 220 104
  33. 240 115
  34. 260 126
  35. 280 137
  36. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы