Написать заголовок к функции - C (СИ)
Формулировка задачи:
Помогите пожалуйста написать заголовок к функции, не пойму как это сделать
#include <stdio.h>
double x, double k, double X, double e
{
double x1;
if( e <= 0)
{
printf("Vvod e \t");
scanf("%lf", &e);
}
else
{
do
{
x1 = x;
x= (X + (k - 1) * pow(x1, k)) / (k * pow(x1, k-1));
while(abs(x - x1) > e);
}
return x;
}
int main ()
{
printf("Vvod X, x, k, e\n");
scanf("%lf, %lf, %lf, %lf", &X, &x, &k, &e);
printf("%lf\n", x);
return 0;
}Решение задачи: «Написать заголовок к функции»
textual
Листинг программы
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<conio.h>
double x, k, X, e=0;
void funk(void)
{
double x1;
if( e <= 0)
{
printf("Vvod e \t");
scanf("%f", &e);
}
else
{
do
{
x1 = x;
x = (X + (k - 1) * pow(x1, k)) / (k * pow(x1, k-1));
}while(fabs(x - x1) > e); // fabs!
}
// return void(); такого не встречал, да и не нужно вовсе
}
int main ()
{
printf("Vvod X, x, k\n");
scanf("%f, %f, %f", &X, &x, &k);
//void funk(); не нужно
funk();
printf("%f\n", x);
_getch();
return 0;
}
Объяснение кода листинга программы
- В функции
funkпроисходит поиск корня квадратного уравнения методом Ньютона. - Переменная
eинициализируется значением 0. - Если
eменьше или равно 0, то выводится сообщениеVvod eи происходит чтение значенияeс помощью функцииscanf. - Если
eбольше 0, то выполняется цикл do-while, в котором происходит вычисление нового приближения корняx1и рекурсивный вызов функцииfunkдля этого значения. - В каждой итерации цикла значение
xобновляется как среднее арифметическоеx1и(X + (k — 1) * pow(x1, k)) / (k * pow(x1, k-1)). - Цикл выполняется до тех пор, пока разница между
xиx1не станет меньше заданной точностиe. - В функции
mainвводятся значенияX,xиkс помощью функцииscanf. - Вызывается функция
funk. - Выводится значение
xс помощью функцииprintf. - Программа ожидает нажатия клавиши с помощью функции
_getchиз библиотекиconio.h. - Программа возвращает 0, завершая свою работу.