La racine carrée
Résolu
LACHHABFADOUA
Messages postés
24
Statut
Membre
-
LACHHABFADOUA Messages postés 24 Statut Membre -
LACHHABFADOUA Messages postés 24 Statut Membre -
Bonjour, svp ou est l'erreur dans le code suivant ,car il ressemble logique ,ms la fonction rend 0
et merci d'avance.
#include<stdio.h>
#include<stdlib.h>
int racine_carre(int a)
{
int i,X=1;
for(i=1;i<=a;i++)
{
X=(1/2)*(X+(a/X));
}
return X;
}
int main()
{
int a,x;
printf("entrer un nombre positif : "); scanf("%d",&a);
x=racine_carre(a);
printf("racine carré de %d est %d",a,x);
}
et merci d'avance.
#include<stdio.h>
#include<stdlib.h>
int racine_carre(int a)
{
int i,X=1;
for(i=1;i<=a;i++)
{
X=(1/2)*(X+(a/X));
}
return X;
}
int main()
{
int a,x;
printf("entrer un nombre positif : "); scanf("%d",&a);
x=racine_carre(a);
printf("racine carré de %d est %d",a,x);
}
Configuration: Windows / Chrome 86.0.4240.198
1 réponse
-
Salut !
Visiblement tu as un problème au niveau des types...
Essaye comme ceci:
int racine_carre(int a) { int i; float X = 1; for (i = 1; i <= a; i++) X = 0.5 * (X + (a / X)); return X; }
Tu auras probablement un warning au niveau du dépassement arithmétique...
Mais ça devrait marcher.
Si tu fais des calcules avec des int... Il te sort un résultat entier.