#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int a; double x=1.0,x1; if (scanf("%d", &a) !=1) { } do { x1 = x; x = (x1 + a / x1) / 2; } while (fabs(x-x1) > 1e-5); { } printf("%.3f", x); return 0; }
#include <stdio.h> #include <math.h> double sqrt_iter(double a) { double x0 = a, x1 = (x0 + a / x0) / 2.0; while (fabs(x1 - x0) > 0.00001) { x0 = x1; x1 = (x0 + a / x0) / 2.0; } return x1; } int main() { double a, sqrt_a; scanf("%lf", &a); sqrt_a = sqrt_iter(a); printf("%.3lf\n", sqrt_a); return 0; }
x1没有初始化,运行不了的,还有,输入的值没说时整数,小数怎么办?太依赖x和x1的初始值了
Heythem 2023-01-27 20:34:44 |
#include<stdio.h> #include<math.h> int main() { int a; double x, y = 0; scanf_s("%d", &a); x = a; while (fabs(x - y) > 1e-5) { y = x; x = (x + a / x) / 2; } printf("%lf", x); return 0; }
cirnicus 2023-08-07 09:57:10 |
x1是一个大于1的整数
cirnicus 2023-08-07 09:58:56 |
补充:x1是一个大于1的浮点数
#include "stdio.h" int main() { int a; double m,n; scanf("%d",&a); m=a/2; while(1) { n=a/m; if(m-n<-0.00001 || m-n>0.00001) { m=(m+n)/2; } else { printf("%.3f",m); break; } } } 这不就很
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:586 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:531 |
星期判断机 (C语言代码)浏览:856 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1478 |
模拟计算器 (C语言代码)浏览:2292 |
单词个数统计 (C语言代码)浏览:1009 |
整数平均值 (C语言代码)浏览:777 |
【计算直线的交点数】 (C语言代码)浏览:916 |
分解质因数 (C++代码)浏览:1469 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:663 |