Выделить преобразование температур в отдельную функцию. (Керниган и Ритчи: Упражнение 1.15) - C (СИ)
Формулировка задачи:
Немного сцитирую:
Итак, мы имеем функцию power и главную функцию main, пользующуюся ее услугами, так что вся программа выглядит следующим образом:
Определение любой функции имеет следующий вид:
тип-результата имя-функции (список параметров, если он есть)
{
объявления
инструкции
}
Вопросы:
1: Почему Первая часть программы не может отдельно работать от второй (или наоборот)? (ошибка на скриншоте)
2: Почему компилятор не ругается на то, что base не инициализирован (когда программа в исходном виде) и какой тогда должен получаться результат?
3: Почему в power 1 - стоит переменная m, если она нигде не используется?
4: Где здесь функция? Их 2 все-таки или это одно целое? (т.к. по отдельности работать не хочет)
5: Функция power подразумевает x^y (power (x,y) ), тогда почему p=p*base, если base это условно "х"? А вроде бы сказано, что base возводится в n-ую степень.
6: Одно из заданий в конце темы - Упражнение 1.15. Перепишите программу преобразования температур, выделив само преобразование в отдельную функцию.
Существует программа:
Как это записать через функцию? Надеюсь это не сложно и вы поможете мне.
Заранее спасибо
#include <stdio.h> int power(int m, int n); /* тест функции power */ int main() { int i; for (i = 0; i < 10; ++i) printf("%d %d %d\n", i, power(2,i), power(-3, i)); return 0; } /* возводит base в п-ю степень; n >= 0 */ int power(int base, int n) { int i, p; p = 1; for (i = 1; i <= n; ++i) p = p * base; return p; }
#include <stdio.h> #include <iostream> /* печать таблицы температур по Фаренгейту и Цельсию для fahr = 0, 20, ..., 300 */ int main() { int fahr, celsius; int lower, upper, step; lower = 0; /* нижняя граница таблицы температур */ upper = 300; /* верхняя граница */ step = 20; /* шаг */ fahr = lower; setlocale(0, ""); while (fahr <= upper) { celsius = 5 * (fahr - 32) / 9; printf("%d\t%d\n Значение", fahr, celsius); fahr = fahr + step; } }
Решение задачи: «Выделить преобразование температур в отдельную функцию. (Керниган и Ритчи: Упражнение 1.15)»
textual
Листинг программы
power(2,i)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д