Написать функцию возведения вещественного числа в целую степень без 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; }
Объяснение кода листинга программы
- ЗАГОЛОВКИ:
- main()
- N_O()
- Переменные:
- y
- x
- n
- b
- result
- i
- Описание работы программы:
- Пользователю предлагается ввести основание и степень числа для возведения в степень
- Если пользователь вводит ноль для степени, программа выводит сообщение об ошибке и завершается
- В основной функции выполняется цикл, который продолжается до тех пор, пока пользователь не введет 1 для степени
- Внутри цикла выводится запрос на ввод основания и степени числа
- После ввода данных вызывается функция N_O, которая возводит основание в степень и возвращает результат
- Результат выводится на экран
- Функция N_O() реализована с помощью цикла, который выполняется столько раз, сколько указано в степени числа
- На каждой итерации цикла результат умножается на основание
- Если степень числа отрицательная, результат делится на 1
- Связь между функциями:
- Функция main() вызывает функцию N_O()
- Функция N_O() возвращает результат, который используется в функции main() для вывода на экран
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д