Выделить преобразование температур в отдельную функцию. (Керниган и Ритчи: Упражнение 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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д