Перевод градусов Фаренгейта в градусы Цельсия - C (СИ)
Формулировка задачи:
есть задание- перевод градусов Фаренгейта в градусы Цельсия, максимальное значение-300, минимальное-0, ход шага-20.
мой код выглядит вот так вторая же часть задания,это из Цельсия в фаренгейты и код должен выглядеть вот так
но когда я сверяю полученные результаты, с таблицей мер шкал,они не сходятся, в чем может быть проблема ?
#include <stdio.h> int main() { #include <stdio.h> int main() { int far,cels; int lower,upper,step; lower=0; upper=300; step=20; far=lower; while (far<=upper){ cels=5*(far-32)/9; printf("%3d\t %6d\n",far,cels); far=far+step; } } }
#include <stdio.h> int main() { int far,cels; int lower,upper,step; lower=0; upper=300; step=20; cels=lower; while (cels<=upper){ far=9*(cels+32)/5; printf("%3d\t %6d\n",cels,far); cels=cels+step; } }
Решение задачи: «Перевод градусов Фаренгейта в градусы Цельсия»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <iostream.h> #include <math.h> void main() { float far; float lower,upper,step; upper=300.0; step=20.0; far=0.0; while (far<=upper){ float cels=(far-32.0)*.55556; cout<<far<<"\t"<<cels<<endl; far+=step; } cout<<"------------------------"<<endl; float cels1; float upper1,step1; upper1=300.0; step1=20.0; cels1=0; while(cels1<=upper1){ float far1=float(cels1*1.8)+32.0; cout<<cels1<<"\t"<<far1<<endl; cels1+=step1; } getch(); return; }
Объяснение кода листинга программы
- Объявляются переменные:
- far типа float для хранения значений в градусах Фаренгейта;
- lower, upper, step типа float для задания диапазона и шага изменения значений в первом цикле;
- upper1, step1 типа float для задания диапазона и шага изменения значений во втором цикле;
- cels1 типа float для хранения значений в градусах Цельсия в первом цикле;
- cels типа float для хранения значений в градусах Цельсия во втором цикле.
- Задаются начальные значения переменных:
- far устанавливается равным 0.0;
- cels1 устанавливается равным 0.0;
- upper и step задаются как 300.0 и 20.0 соответственно;
- upper1 и step1 задаются как 300.0 и 20.0 соответственно.
- Запускается первый цикл while, который выполняется до тех пор, пока значение переменной far не станет больше или равным upper. В каждой итерации цикла выполняется перевод значения far из градусов Фаренгейта в градусы Цельсия по формуле cels = (far - 32.0) * 0.55556 и выводится на экран. Значение far увеличивается на step после каждой итерации.
- Запускается второй цикл while, который выполняется до тех пор, пока значение переменной cels1 не станет больше или равным upper1. В каждой итерации цикла выполняется перевод значения cels1 из градусов Цельсия в градусы Фаренгейта по формуле far1 = float(cels1 * 1.8) + 32.0 и выводится на экран. Значение cels1 увеличивается на step1 после каждой итерации.
- Выводится горизонтальная линия из символов
-
для разделения двух блоков вывода. - Выполняется функция getch() для приостановки выполнения программы до тех пор, пока пользователь не нажмет клавишу.
- Программа возвращает управление операционной системе.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д