分析:
//巴比伦algorithm
#include <stdio.h>#include <stdlib.h>
#define true 1
#define false 0
int main(int argc, char **argv)
{
int n = 0;
scanf("%d", &n);
double guess = n / 2;
double tmp = guess;
while(true)
{
double r = n / guess;
guess = (guess + r) / 2;
if(abs(tmp - guess) / tmp < 0.001)
{
break;
}
tmp = guess;
}
printf("%lf\n", guess);
system("pause");
}
*/
/*
#include <stdio.h>
#include <stdlib.h>
int main ()
{
double g,t,r;
int n=0; //注意这里的n
scanf("%d",&n);
g=n/2;
t=g;
while (1){
r=n/g;
g=(g+r)/2;
if((abs(t-g)/t)<0.001)
break;
t=g;
}
printf("%lf",g);
return 0;
}
*/
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
float new_guess;
float last_guess;
float number;
printf( "Enter a number: " );
scanf( "%f", &number );
if(number < 0)
{
printf( "cannot compute the square root of"
"a negative number!\n" );
return EXIT_FAILURE;
}
new_guess = 1;
do{
last_guess = new_guess;
new_guess = ( last_guess + number / last_guess ) / 2;
printf( "%.15e\n", new_guess );
}while( new_guess != last_guess );
printf( "square root of %g is %g\n", number, new_guess );
return EXIT_SUCCESS;
}
一个自己写的 一个复制别人的 谢谢 交流