C语言 这个程序为何错误,求Sn=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/(2n))其中n的值由键盘获得。

#include<stdio.h>voidmain(){intn;doublet=1.0,s=0.0;printf("请输入n的值:");scanf("%d",&n);f... #include <stdio.h>void main(){ int n; double t=1.0,s=0.0; printf("请输入n的值:"); scanf("%d",&n); for(t=1;t<=2*n;t+=2) { t=1/t*(t+1); s+=t; } printf("s=%lf\n",s);} 输入数据后 没有进行运算 展开
 我来答
wjcmqyd
2018-04-19 · TA获得超过5628个赞
知道大有可为答主
回答量:3236
采纳率:79%
帮助的人:819万
展开全部

#include <stdio.h>
int main(void)
{
unsigned i,n;
double sum1=0.0,sum2=0.0;
printf("  这是一个计算 Sn = (1-1/2) + (1/3-1/4) + ...... + [1/(2n-1)-1/(2n)] 的程序\n\n");
printf("  请输入n的值(正整数):");
scanf("%u",&n);
for(i=1;i<=n;i++)
{
sum1+=1.0/(double)(2*i-1);
sum2+=1.0/(double)(2*i);
}
if(n==1)
printf("  S%u = (1 - 1/2) = %.4f\n",n,sum1-sum2);
if(n==2)
printf("  S%u = (1 - 1/2) + (1/3 - 1/4) = %.4f\n",n,sum1-sum2);
if(n>2 && n<1000)
printf("  S%u = (1 - 1/2) + (1/3 - 1/4) + ...... + [1/(2×%u-1) - 1/(2×%u)] = %.4f\n",n,n,n,sum1-sum2);
if(n>999)
printf("  S%u=(1-1/2)+(1/3-1/4)+ ......+[1/(2×%u-1)-1/(2×%u)]=%.4f\n",n,n,n,sum1-sum2);
return 0;
}

匿名用户
2013-07-05
展开全部
#include <stdio.h> void main() { int n,t; double b,s=0.0; printf("请输入n的值:"); scanf("%d",&n); for(t=1;t<=n;t++) { b=1.0/(2*t*(1.0-2*t)); s+=b;
}
printf("s=%lf\n",s);
}修改了下楼主的程序。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-05
展开全部
没有语法错误呀,我身边没有编译器,没办法给你看了,你试试把每个中间变量都输出来看看行不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-05
展开全部
是printf("s=%lf\n",s);出错了吧。改下看看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式