本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。

如图 我哪里写错了 求指教

从第7行开始,错的地方太多了,
干脆给你重写这个求和算法:
for(i=1; i<=n; i++)
{ j=i*2-1;
t=(double)i/j;
if(i%2==0)
sum-=t;
else sum+=t;
}

你的代码错误点主要有:
(1)循环应该从1开始
(2)i/j 是整除,结果为0,要强制转为浮点除
(3)sum+=t+f的逻辑是错的,不会得到期望的结果,
因为t和f的结果只会出现二选一。
希望对你有帮助。
温馨提示:内容为网友见解,仅供参考
无其他回答

...1-2\/3+3\/5-4\/7+5\/9-6\/11+... 的前N项之和。
从第7行开始,错的地方太多了,干脆给你重写这个求和算法:for(i=1; i<=n; i++){ j=i*2-1;t=(double)i\/j;if(i%2==0)sum-=t;else sum+=t;} 你的代码错误点主要有:(1)循环应该从1开始 (2)i\/j 是整除,结果为0,要强制转为浮点除 (3)sum+=t+f的逻辑是错的,不...

...1-2\/3+3\/5-4\/7+5\/9-6\/11+... 的前N项之和,求改错
include <stdio.h>int crisscross(int n){if(n%2==0)return -n;elsereturn n;}int interlock(int n){return n*2-1;}int main(){int N,i,n;float sum=1;scanf("%d",&N);for(i=2;i<=N;i++)sum+=(float)crisscross(i)\/interlock(i);printf("%.3f\\n",sum);return 0;} ...

...1-2\/3+3\/5-4\/7+5\/9-6\/11+... 的前N项之和。
{ int N,i=1,n;double sum=0;scanf("%d",&N);for(i=1,n=1;i<=2*N;i=i+2,n++){ sum=sum+pow((-1),n+1)*n\/i;} printf("%.3f",sum);return 0;}

本题要求编写程序,计算序列 2\/1+3\/2+5\/3+8\/5+... 的前N项之和。
首先需要明确,常常看到int取值范围为-32768~32767,实际上int的取值范围依赖于计算机系统,在16位机器中,int占16位,取值范围为前面所说的-32768~32767(-2^16~2^16-1)。而在32位和64位机器中,int占32位,取值范围为-2147483648~2147483647(-2^32~2^32-1)。本题中当N为44时,分子的...

本题要求编写程序,计算序列 1 + 1\/3 + 1\/5 + ... 的前N项之和. 输入...
首先一个问题,你的输出中,把几个数字都“连接”到一起了,这肯定会出错的。

本题要求编写程序,计算序列 1 + 1\/3 + 1\/5 + ... 的前N项之和。 循环...
fm是分母,第n项是1\/(2 * n -1),分母就要限制为小于等于2 * N -1,就是小于2 * N。例如:首先需要明确,常常看到int取值范围为-32768~32767,实际上int的取值范围依赖于计算机系统,在16位机器中,int占16位,取值范围为前面所说的-32768~32767(-2^16~2^16-1)。而在32位和64位...

本题要求编写程序,计算序列 1 + 1\/3 + 1\/5 + ... 的前N项之和。 输入...
include<stdio.h> main(){ int i,N;float sum;printf("Please Input N=");scanf("%d",&N);sum=0.0;for(i=0;i<N;i++)sum+=1\/((float)N*2.0-1);printf("\\nsum=%.6f",sum);getch();}

要求编写程序,计算序列1-1\/4+1\/7-1\/10+...的前N项之和。
这个程序首先定义了变量n表示项数,flag用于取反,初始值为1。接着,通过循环计算每一项的和,其中每一项的值为1除以3i-2的倒数乘以当前的取反标志flag。循环结束后,输出计算得到的和。实际上,这个序列可以通过调和级数的性质来理解。Euler(欧拉)曾利用Newton的工作,得出调和级数的有限项和近似公式为...

本题要求编写程序,计算序列 1 - 1\/4 + 1\/7 - 1\/10 + ... 的前N项和...
分析

本题要求编写程序,计算序列 1 - 1\/4 + 1\/7 - 1\/10 + ... 的前N项之...
include <stdio.h> int main(){ double s=0,d=-1.0;int a,b;scanf("%d",&a);b=(a-1)*3+1;for(int j=1; j<=b; j=j+3){ d=-d;s=d\/j+s;} printf("sum = %.3lf\\n",s);return 0;}

相似回答