Перевод градусов Фаренгейта в градусы Цельсия - 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;
}

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

  1. Объявляются переменные:
    • far типа float для хранения значений в градусах Фаренгейта;
    • lower, upper, step типа float для задания диапазона и шага изменения значений в первом цикле;
    • upper1, step1 типа float для задания диапазона и шага изменения значений во втором цикле;
    • cels1 типа float для хранения значений в градусах Цельсия в первом цикле;
    • cels типа float для хранения значений в градусах Цельсия во втором цикле.
  2. Задаются начальные значения переменных:
    • far устанавливается равным 0.0;
    • cels1 устанавливается равным 0.0;
    • upper и step задаются как 300.0 и 20.0 соответственно;
    • upper1 и step1 задаются как 300.0 и 20.0 соответственно.
  3. Запускается первый цикл while, который выполняется до тех пор, пока значение переменной far не станет больше или равным upper. В каждой итерации цикла выполняется перевод значения far из градусов Фаренгейта в градусы Цельсия по формуле cels = (far - 32.0) * 0.55556 и выводится на экран. Значение far увеличивается на step после каждой итерации.
  4. Запускается второй цикл while, который выполняется до тех пор, пока значение переменной cels1 не станет больше или равным upper1. В каждой итерации цикла выполняется перевод значения cels1 из градусов Цельсия в градусы Фаренгейта по формуле far1 = float(cels1 * 1.8) + 32.0 и выводится на экран. Значение cels1 увеличивается на step1 после каждой итерации.
  5. Выводится горизонтальная линия из символов - для разделения двух блоков вывода.
  6. Выполняется функция getch() для приостановки выполнения программы до тех пор, пока пользователь не нажмет клавишу.
  7. Программа возвращает управление операционной системе.

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


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

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

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