lzth.net
当前位置:首页 >> 要求编写程序,计算交错序列 1%2/3+3/5%4/7+5/9%6/11+... 的前N项之和,求改... >>

要求编写程序,计算交错序列 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; else return 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;}

#include <stdio.h>int main(){ double sum = 0, i = 1; int m, n; scanf("%d", &n); for (m = 1; m <= n; m++, i += 2) sum += 1/i; printf("sum = %lf\n", sum); return 0;}

上面是1为公差的等差数列,下面是2,然后表示出每一个数,然后循环迭代即可得到结果.

按照你的逻辑,你算的是1-2/3-3/5-4/7-5/9-6/11-…… 帮你修改一下#include<stdio.h> void main() { int n,tmp=1; float sum=1,a; scanf("%d",&n); for(float i=2;i<=n;i++) { a=i/(2*i-1); sum+=tmp*a; tmp = -tmp; } printf("前n项之和=%f\n",sum); }

下面是2为公差的等差数列,上面是为1的等差数列,依次表示出每个数,然后循环迭代即可得到结果.

用什么语言?问题没看懂:1.自然数就一个怎么反序输出?2.这是什么数列,好像没什么规律吧?

#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();}

#include <stdio.h>int main(){ int n,i; double num=1.0; double sum; printf("输入n: "); scanf("%d",&n); //遍历 for(i=0;i<n;i++) { sum+=(num+i)/(2*i+1); } printf("前 %d 项的和为: %.2f",n,sum); return 0;}

你可能没完全理解题意,要求算的是每三个数的积的和1*2*3 + 4*5*6 而不是1*2*3 * 4*5*6 代码已经修改如下:#include #include int main(int argc, char* argv[]) { longint result=0; intn; printf("entera number:"); scanf("%ld",&n); n-=(n%3); for(inti

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com