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