帮我用C语言写一个不调用math.h的且保留三位小数的开方代码
时间: 2023-03-30 07:00:30 浏览: 118
您好,以下是不调用math.h的C语言开方代码,保留三位小数:
#include <stdio.h>
float sqrt(float num) {
float x = num;
float y = 1.;
float e = .001;
while (x - y > e) {
x = (x + y) / 2;
y = num / x;
}
return x;
}
int main() {
float num = 2.;
float result = sqrt(num);
printf("The square root of %.3f is %.3f\n", num, result);
return ;
}
相关问题
帮我用C语言写一个不调用math.h的开方代码
好的,以下是一个不调用math.h的开方代码:
```c
#include <stdio.h>
double sqrt(double x) {
double guess = 1.;
double diff = 1.;
while (diff > .0001) {
double new_guess = (guess + x / guess) / 2.;
diff = new_guess - guess;
if (diff < ) {
diff = -diff;
}
guess = new_guess;
}
return guess;
}
int main() {
double x;
printf("请输入一个数:");
scanf("%lf", &x);
printf("该数的平方根为:%lf\n", sqrt(x));
return ;
}
```
这个代码使用了牛顿迭代法来计算平方根,不需要调用math.h库中的sqrt函数。
阅读全文