C程序设计第五章作业2

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

问:

补全【例5.7】的程序,并且计算循环了(计算)多少次

答:

1、1e-6 版本

#include<stdio.h> //计算π

#include<math.h> //须要调用函数 fabs(x) 计算绝对值

int main()

{

int sign = 1, i = 0;

double denominator = 1.0, numerator = 1.0, Num = 1.0, pi = 0.0;

while (fabs(Num) >= 1e-6)//计算Num的绝对值

{

pi = pi + Num;

denominator = denominator + 2;

sign = -sign;

Num = sign / denominator;

i++;//计算循环了多少次

}

pi = pi * 4;

printf("Pi=[%.5f]\n", pi);

printf("Loop [%d] second\n", i);//输出循环次数

return 0;

}

运行结果:

循环了(计算)50万次。

2、1e-8 版本

#include<stdio.h> //计算π

#include<math.h> //须要调用函数 fabs(x) 计算绝对值

int main()

{

int sign = 1, i = 0;

double denominator = 1.0, numerator = 1.0, Num = 1.0, pi = 0.0;

while (fabs(Num) >= 1e-8)//计算Num的绝对值

{

pi = pi + Num;

denominator = denominator + 2;

sign = -sign;

Num = sign / denominator;

i++;//计算循环了多少次

}

pi = pi * 4;

printf("Pi=[%.7f]\n", pi);

printf("Loop [%d] second\n", i);//输出循环次数

return 0;

}

运行结果:

循环了5000万次