C程序设计第五章作业2
问:
补全【例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;
}
运行结果:
C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E7%AC%AC%E4%BA%94%E7%AB%A0%E4%BD%9C%E4%B8%9A2.assets/00335c14-7805-42e5-bb0e-9e7224a9f1c7.png循环了(计算)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;
}
运行结果:
C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E7%AC%AC%E4%BA%94%E7%AB%A0%E4%BD%9C%E4%B8%9A2.assets/6486b65d-eeed-44f5-887b-fb04c50d042d.png循环了5000万次