Выделить преобразование температур в отдельную функцию. (Керниган и Ритчи: Упражнение 1.15) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Немного сцитирую: Итак, мы имеем функцию power и главную функцию main, пользующуюся ее услугами, так что вся программа выглядит следующим образом:
#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;
 }
Определение любой функции имеет следующий вид: тип-результата имя-функции (список параметров, если он есть) { объявления инструкции } Вопросы: 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>  
#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)

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


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

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

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