calcul d'une racine carrée

Portrait de furet
/**
* \file square_root.c
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
/**
* \def EPSI est la précision recherchée
*/
 
#define EPSI 1.e-6
 
/**
* \brief Algorithme de Newton pour calculer une racine carrée.
* Utilise une boucle do while pour calculer la racine. Deux conditions de sortie de boucle :
* 1 L'erreur comise est <= à EPSI
* 2 Le nombre max d'itérations est atteind.
* NB : Aucun renseignement n'est donné quant à la condition de sortie réalisée ;
* la fonction n'indique pas si e <= EPSI en fin de boucle.
* A est supposé > 0 sinon les calculs n'auraient aucun sens.
*
* \param A Nombre dont on cherche la racine
* \param U sert a stocker le résultat U=0.5*A pour des calculs relativements rapides
* \param V sert a stocker le resultat, contient l'itération suivante
* \param e erreur relative tant que e <= EPSI on continue les calculs
* \param n nombre maximum d'itératons
* \param i compteur de boucle
*/
int main(){
 
	double A,U,V,e;
	int n,i=0;
	printf("A :\t");
	scanf("%lf",&A);
	printf("\nn :\t");
	scanf("%d",&n);
	U=A*0.5;
 
	do{
		V = 0.5*(U+A/U);
		e = fabs((V-U)/V);
		U = V;
		i++;
	}while(e>=EPSI && i<n);
 
	printf("%lf",U);
	return 0;
}
Domaine: