Написать функцию возведения вещественного числа в целую степень без math.h - C (СИ)

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

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

необходимо написать программу в которой используется ф-я возведения некоторого вещественного числа в некую целую степень. Условия выхода-возведение в 1 степень, но и при этом необходимо вычислить... include <math.h> использовать запрещено... подскажите с программой, вот я пытался написать код, но не совсем получается:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
double N_O (double, int)
void main()
{
clrscr ();
double y,x;
int n;
while (1)
{
printf ("vvedite osnovanie x= \n");
scanf ("%lf ",&x);
printf ("vvedite stepen n= \n");
scanf ("%d ",&n);
if (n==1) {printf ("y=%lf \n",y);break;}
y=N_O (R);
printf ("y= %lf \n",y);
}
}
 
double N_O (double b, int c) //ф-ю не могу написать
{
double P;
помогите чем-нибудь... заранее благодарен...

Решение задачи: «Написать функцию возведения вещественного числа в целую степень без math.h»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
double N_O (double, int);
void main()
{
clrscr ();
double y=1,x;
int n;
do {printf ("vvedite osnovanie x=\n");
scanf ("%lf",&x);
printf ("vvedite stepen n= \n");
scanf ("%d",&n);
if (n!=0) y=N_O (x,n);
printf ("%lf v stepeni %d= %lf \n",x,n,y);
printf ("\n");
getch();
} while (n!=1);
}
double N_O (double b, int c)
{
if (c==0)
return 1;
double result=1;
for (int i=0; i<abs(c);i++)
result*=b;
if (c<0)
result=1/result;
return result;
}

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

  1. ЗАГОЛОВКИ:
    • main()
    • N_O()
  2. Переменные:
    • y
    • x
    • n
    • b
    • result
    • i
  3. Описание работы программы:
    • Пользователю предлагается ввести основание и степень числа для возведения в степень
    • Если пользователь вводит ноль для степени, программа выводит сообщение об ошибке и завершается
    • В основной функции выполняется цикл, который продолжается до тех пор, пока пользователь не введет 1 для степени
    • Внутри цикла выводится запрос на ввод основания и степени числа
    • После ввода данных вызывается функция N_O, которая возводит основание в степень и возвращает результат
    • Результат выводится на экран
    • Функция N_O() реализована с помощью цикла, который выполняется столько раз, сколько указано в степени числа
    • На каждой итерации цикла результат умножается на основание
    • Если степень числа отрицательная, результат делится на 1
  4. Связь между функциями:
    • Функция main() вызывает функцию N_O()
    • Функция N_O() возвращает результат, который используется в функции main() для вывода на экран

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


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

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

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