程序填空题:格雷戈里公式求圆周率π - C/C++ 分支与循环
使用下述格雷戈里公式求圆周率π。从左往右累加,当累加项的绝对值小于10<sup>-6</sup>时终止计算并输出结果。请参考流程图完成下述程序填空并上机调试运行。
![image.png](~/22b06894-cc98-4699-b222-673bed16ff39.png)
![image.png](~/984a2ad1-5e97-478a-94ab-7fa651d1bd10.png)
#include <stdio.h>
#include <stdbool.h>
int main()
{
double fError = 1e-6;
int iDenominator = 1;
bool bAdd = true;
double fPi = 0.0;
double fItem = 1.0 / iDenominator;
while (){
fPi = ; //使用条件表达式
iDenominator += 2;
fItem = ;
bAdd =;
}
printf("pi = %.15f",);
return 0;
}
### 感觉不会? 那试着听听**免费的B站网课**
[简洁的C和C++ - 重庆大学在线课程](https://www.bilibili.com/video/BV1it411d7zx/)
[Python编程基础及应用 - 重庆大学在线课程](https://www.bilibili.com/video/BV1kt411R7uW/)
![image.png](~/6e79c9e3-cb7f-486d-ab78-36b5a8f655c0.png)
答案:
第1空:fItem>=fError
第2空:bAdd?(fPi + fItem):(fPi - fItem)
第3空:1.0/iDenominator
第4空: !bAdd
第5空:fPi*4.0
![image.png](~/22b06894-cc98-4699-b222-673bed16ff39.png)
![image.png](~/984a2ad1-5e97-478a-94ab-7fa651d1bd10.png)
#include <stdio.h>
#include <stdbool.h>
int main()
{
double fError = 1e-6;
int iDenominator = 1;
bool bAdd = true;
double fPi = 0.0;
double fItem = 1.0 / iDenominator;
while (){
fPi = ; //使用条件表达式
iDenominator += 2;
fItem = ;
bAdd =;
}
printf("pi = %.15f",);
return 0;
}
### 感觉不会? 那试着听听**免费的B站网课**
[简洁的C和C++ - 重庆大学在线课程](https://www.bilibili.com/video/BV1it411d7zx/)
[Python编程基础及应用 - 重庆大学在线课程](https://www.bilibili.com/video/BV1kt411R7uW/)
![image.png](~/6e79c9e3-cb7f-486d-ab78-36b5a8f655c0.png)
答案:
第1空:fItem>=fError
第2空:bAdd?(fPi + fItem):(fPi - fItem)
第3空:1.0/iDenominator
第4空: !bAdd
第5空:fPi*4.0