编程求以下级数前n项之和:
s = 1 - 1 / 3 + 1 / 5 - 1 / 7 + ...
/*输入:正整数n。
*输出:前n项。
不知道第一个和第二个条件语句如何写
供参考:
#include <stdio.h>
int main()
{
int n, i;
double s;
scanf("%d", &n);
for (i = 1, s = 0; i <= n; i++)
i % 2 == 1 ? s += 1.0 / (2 * i - 1) : s -= 1.0 / (2 * i - 1);
printf("s=%f", s);
return 0;
}
怎么还跑出双循环了呢???
//s = 1 - 1 / 3 + 1 / 5 - 1 / 7 + ...
#include <stdio.h>
int main()
{
double sum = 0,item = 0;
int flag = 1;
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
item = 1.0/(2*i-1);
sum += flag * item;
flag *= -1;
}
printf("%lf",sum);
}
1.n是个整数,你的循环变量也应该是整数,不要搞个double型
2.循环一次就沟里,不要搞多个循环
3.sum应该写在循环里面
你的代码循环条件太复杂了,循环语句可以多引入几个变量,复杂一点。两个循环最好合成一个,i=1(作为分母);ⅰ<=2n-1(第n项分母为2n-1);ⅰ=ⅰ+2(1、3、5、7...步长为2),正负号交替的问题,用乘以-1解决