在《C和指针》里面有一个练习题:计算正数的平方根,原文如下:
具体实现函数如下代码:
-
void square(void)
-
{
-
int num=0,i=0;
-
float temp1=1,temp2=1;
-
-
printf("input a positive nummber:\n");
-
scanf("%d",&num);
-
if(num<=0)
-
{
-
printf("number must >0\n");
-
return ;
-
}
-
do{
-
temp1 = temp2;
-
temp2 = (temp1+num/temp1)/2;
-
i++;
-
}while(temp1!=temp2);
-
printf("num %d square is %f after %d while\n",num,temp1,i);
-
}
写一个main函数调用此函数后,gcc编译运行结果如下,可以发现,6位数只需要循环13次,9位数只要循环18次,速度还是很快的。
阅读(1557) | 评论(0) | 转发(0) |