|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
// 求圆周率 PAI 的近似值
// π/4≈1-1/3+1/5-1/7+…
#include<stdio.h>
#include<conio.h>
int main()
{
int i,s,n;
double pai;
i = 1;
s = 1;
pai = 1;
n = getch(); /* 键盘输入一个要求,精确到第一项 */
if(i < n)
{
for(;i < n;)
{
s = -s;
pai = pai + s / (2 * i - 1);
}
}
pai = 4 * pai;
printf("%lf\n",pai);
}
另外:getch() 好像只能输入单个字符,如何输入两位及多位数?先谢谢了!
不太明白你所说的
什么叫精确到第一项?
getch输入的是字符,不是数字
你需要用scanf读取输入
另外你的if的作用是什么?for没有修改条件,是个死循环。。
总之,很多小错误
帮你修改了一下。输入的数值是计算前多少项
- #include<stdio.h>
- int main()
- {
- int i, n;
- double pai, s;
- s = 1;
- pai = 1;
- scanf("%d", &n);
- for (i=2; i <= n;i++)
- {
- s = -s;
- pai = pai + s / (2 * i - 1);
- }
- pai = 4 * pai;
- printf("%lf\n", pai);
- return 0;
- }
复制代码
|
|