输入一个正整数n,计算1-2/3+3/5-4/7+5/9-6/11+……的前n项之和。
#include
int main()
{ int i,n;
float sum=0,flag=1.0;
printf("Input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{ sum=sum+ ;
; ,
}
printf("Sum=%f\n",sum);
return 0;
}
第一点:考虑到分子是i到n,分母是(2i-1);
第二点:每次下一项都要改变符号,所以循环一次flat都要去负号
综上:sum=sum+i/(2*i-1.0)*flag;//考虑到是分数,所以用浮点型这里-1.0。
flag=-flag;//改变符号
代码如下,有帮助的话记得采纳一下哦!
#include <stdio.h>
void main()
{
int i,n;
double sum,item,flag;
flag=1;sum=0;
printf("input:n\n");
scanf("%d",&n);
for(i=1;i<=n;i++){
item=(flag*i)/(2*i-1);
flag=-flag;
sum=sum+item;}
printf("sum=%lf\n",sum);
}