Вывести в два столбца температуру по Цельсию и по Фаренгейту; исправить ошибку в коде - C (СИ)
Формулировка задачи:
Доброго времени суток! Недавно начал изучение Си и столкнулся с проблемой касающейся цикла while.
Приведу элементарный пример программы для вычислений.
Листинг программы
- #include <stdio.h>
- main() {
- int cel, far;
- cel = -30;
- far = cel + 9;
- while(cel <= 30){
- printf("%d\t%d\n", cel, far); //Есть мысль, что ошибка может быть в параметрах. Прав ли я?
- cel = cel + 5;
- //Программа как вы видите, должна выводить в два столбца температуру по Цельсию и по Фаренгейту(Данные "левые", привел просто для вида).
- Я ожидал приблизительно вот такой вывод
- -30 -21
- -25 -12
- .....
- Но получил в ответ
- -30 -21
- -25 -21
- -20 -21
- ...
- Вот хотелось бы узнать в чем моя ошибка. Заранее спасибо всем кто ответит на данный вопрос!
- }
- }
Решение задачи: «Вывести в два столбца температуру по Цельсию и по Фаренгейту; исправить ошибку в коде»
textual
Листинг программы
- far = cel + 9;
- while(cel <= 30){
- printf("%d\t%d\n", cel, far); //Есть мысль, что ошибка может быть в параметрах. Прав ли я?
- cel = cel + 5;
Объяснение кода листинга программы
В данном коде:
- Переменная
cel
инициализируется значением 0, а переменнаяfar
не инициализируется. - В цикле while происходит наращивание значения переменной
cel
на 5 при каждой итерации. - В каждой итерации цикла происходит конвертация значения переменной
cel
в градусы Фаренгейта по формулеfar = cel + 9
. - Затем происходит вывод значений переменных
cel
иfar
в форматечисло\tчисло
с помощью функции printf. - После каждой итерации цикла значение переменной
cel
увеличивается на 5. - Цикл while выполняется до тех пор, пока значение переменной
cel
не станет больше 30. Ошибка в коде заключается в том, что значения переменныхcel
иfar
не выводятся в столбцах, разделенных табуляцией, а выводятся в одной строке. Кроме того, переменнаяfar
не инициализируется, что может привести к непредсказуемым результатам при выполнении программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д