Я работаю в «C Primer Plus», просто выполняю упражнения по программированию, и я наткнулся на кирпичную стену последней в пятой главе («Операторы, выражения и выражения»).
Упражнение:
Напишите программу, которая просит пользователя ввести температуру по Фаренгейту.Программа должна прочитать температуру как двойное число типа и передать ее в качестве аргумента предоставляемой пользователем функции с именем Temperatures ().Эта функция должна вычислять эквивалент в градусах Цельсия и эквивалент в градусах Кельвина и отображать все три температуры с точностью до двух знаков справа от десятичного знака.Он должен идентифицировать каждое значение с температурной шкалой, которую он представляет.Вот формула для преобразования Фаренгейта в Цельсий:
Цельсия = 1,8 * Фаренгейта + 32,0
Шкала Кельвина, обычно используемая в науке, - это шкала, в которой 0 представляет абсолютный ноль, нижняяограничить возможные температуры.Вот формула для преобразования Цельсия в Кельвины:
Кельвин = Цельсия + 273.16
Функция Temperatures () должна использовать const для создания символических представлений трех констант, которые появляются в преобразованиях.Функция main () должна использовать цикл, чтобы позволить пользователю повторно вводить температуру, останавливаясь при вводе aq или другого нечислового значения.
Мой код:
#include <stdio.h>
void Temperatures(double);
int main(void)
{
double farh;
printf("Enter a fahrenheit temperature: ");
scanf("%f", &farh);
printf("\n");
Temperatures(farh);
return 0;
}
void Temperatures(double f)
{
float c;
float k;
c = 1.8 * f + 32;
k = c + 273.16;
printf("Fahrenheit Celcius Kelvin\n");
printf("%.2f %.2f %.2f\n", f, c, k);
}
Где япошло не так?: o Просто получи ерунду.