C程序设计第五章作业13

程序员成长之旅 · 程序员成长之旅/C语言/习题(C语言程序设计)/第五章习题 · 249 字

问:

键入需要求的平方根,按照迭代法计算 并且输出(精度小于即小于0.00001)

迭代法计算方法:

答:

#include<stdio.h>

#include<math.h>

int main()

{

//int Num = 0;

double  Num = 0,accuracy = 0.00001, Xn = 0.00001, XnAdd1 = 0.00001, difference = 0.00001;

printf("Enter square root:\n");

scanf("%lf", &Num);

if (Num > 0 && Num <= 99999)

{

Xn = Num * 0.50000;//设置初始值

do

{

XnAdd1 = ((Xn + Num / Xn) / 2.00000);

Xn = ((XnAdd1 + Num / XnAdd1) / 2.00000);

difference = fabs(XnAdd1 - Xn);//检查精度

} while (difference >= accuracy);//检查精度

Xn < XnAdd1 ? printf("You enter number is[%.2f],Result is [%.5f]", Num, Xn) : printf("You enter number is[%.2f],Result is [%.5f]", Num, XnAdd1);

}

else

{

setbuf(stdin, NULL);

printf("Data is error!\n");

return 0;

}

return 0;

}