c语言编写。计算1+1/(1+2)+1/(1+2+3)+.....+1/( 1+2+3+.....
c语言编写。计算1+1/(1+2)+1/(1+2+3)+.....+1/(1+2+3+......+n)的值,n的值由键盘输入,这个怎么写...
c语言编写。计算1+1/(1+2)+1/(1+2+3)+.....+1/( 1+2+3+......+n)的值,n的值由键盘输入,这个怎么写
展开
展开全部
分析:
算式有n项,用i循环n次累加实现,i=0,1,2,...,n-1;
分母是前一次加当前项号,用累加变量fm得到,注意当前项号是i+1:(0)+1,(1)+2,(3)+3,...
这种累加变量需要特别关心一下初始值(赋初值),还要注意结束值的计算,验算一下看是否正确
程序:
#include<stdio.h>
void main()
{ int i,n,fm=0; double sum=0;
scanf("%d",&n);
for ( i=0;i<n;i++ ) //总共n次循环,加n项
{ fm+=(i+1); //分母每次累加当前项号:0+1,1+2,3+3,...
sum+=(double)1/fm; //累加当前项
}
printf("%lf\n",sum);
}
算式有n项,用i循环n次累加实现,i=0,1,2,...,n-1;
分母是前一次加当前项号,用累加变量fm得到,注意当前项号是i+1:(0)+1,(1)+2,(3)+3,...
这种累加变量需要特别关心一下初始值(赋初值),还要注意结束值的计算,验算一下看是否正确
程序:
#include<stdio.h>
void main()
{ int i,n,fm=0; double sum=0;
scanf("%d",&n);
for ( i=0;i<n;i++ ) //总共n次循环,加n项
{ fm+=(i+1); //分母每次累加当前项号:0+1,1+2,3+3,...
sum+=(double)1/fm; //累加当前项
}
printf("%lf\n",sum);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询