【发布时间】:2014-09-06 04:53:28
【问题描述】:
这是我编写的代码,用于查找大约 平方根 一个非完美数(顺序为 0.0001 以及完美平方的精确平方根。它适用于非完美平方数但并不完美。当我输入 25 时,它给出 5.000068
#include<stdio.h>
int main()
{
float a,i,count;
scanf("%f",&a);
for(count=1;(1);count=count+0.0001)
{
i=count*count;
if (i<=a)
break;
}
printf("%f",count);
return 0;
}
【问题讨论】:
-
您似乎遇到了浮点精度问题。
-
C- Floating point precision 的可能重复项
-
if (i>=a)不是找到最佳答案的正确方法。上一步可能会出现最佳答案。 -
您是否使用
0.25作为输入来测试您的程序?
标签: c square-root