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

大佬们,这个输入1,输出为何不是1呢?
#include<stdio.h>
int main()
{
int n,m;
double i=-2,sum=0;
scanf("%d",&n);
for(m=0;m<n;m++)
{ i+=3;
sum=sum+1/i;
i+=3,m++;
if(m>n) break;
else
sum=sum-1/i;
}
printf("sum = %.3lf",sum);
return 0;
}

第1个回答  2020-04-09

分析

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

C语言编程:本题要求编写程序,计算序列 1 - 1\/4 + 1\/7 - 1\/10 +...
include<stdio.h>int main(){int n,i;\/\/double sum;\/\/sum没有初始化double sum=0.0;\/\/求和,置sum为0\/\/printf("请输入数字n:",n);\/\/这句逗号后面的n是多余的,不参与输出printf("请输入数字n:");scanf("%d",&n);for(i=1;i<=n;i++){if(i%2==0)\/\/sum=sum-1\/(3*i-2)...

要求编写程序,计算序列 1 - 1\/4 + 1\/7 - 1\/10 + ... 的前N项之和。
printf("前N项之和为: %.3f\\n", sum);return 0;} 这个程序首先定义了变量n表示项数,flag用于取反,初始值为1。接着,通过循环计算每一项的和,其中每一项的值为1除以3i-2的倒数乘以当前的取反标志flag。循环结束后,输出计算得到的和。实际上,这个序列可以通过调和级数的性质来理解。Euler(...

要求编写程序,计算序列 1 - 1\/4 + 1\/7 - 1\/10 + ... 的前N项之和?
估计你的问题出在第八行:sum=sum+1.0\/-3(3*i-2)建议改为:sum=sum-1.0\/3(3*i-2)

要求编写程序,计算序列 1 - 1\/4 + 1\/7 - 1\/10 + ... 的前N项之和。
增加一个变量,用于取反,即可。include<stdio.h> int main(){ int n,i,flag=1;double sum=0;printf("请输入数字n:");scanf("%d",&n);for(i=1;i<=n;i++,flag*=-1){ sum+=1.0\/(3*i-2)*flag;} printf("sun=%.3f\\n",sum);return 0;} ...

c语言编程序 \/*计算1-1\/4+1\/7-1\/10+1\/13-1\/16…共n项之和*\/
n: ");scanf("%lf",&n);for(i=1;i<=n;i++){ sum=sum+k\/(3*i-2);k=-k;} printf("sum=%.3f",sum);return 0;} 输入形式 从键盘输入一个正整数n。输入输出样例1(下划线部分表示输入)Enter n:3 sum=0.893 输入输出样例2(下划线部分表示输入)Enter n:10 sum=0.819 ...

计算1-1\/4+1\/7-1\/10+1\/13-1\/16+...的前n项之和,n由用户从键盘输入,求...
\/\/首先是分析规律 1可以看作是 1\/1 1\/4 分母是等差数列是 1 4 7 10 13相差为3 \/\/另外符号是 正 负 正 负这样 include <iostream> using namespace std;int main(){ int n;cin>>n; \/\/输入N的值 if(n<=0) \/\/如果输入的是0或者负数 cout<<"input error!";int i=1;int ...

输入一个正整数n,计算1-1\/4+1\/7-1\/10+1\/13-1\/16+...前n项之和.(保留...
用一个for单循环就可以解决。include <stdio.h> include <stdlib.h> void main(){ int n;double x=0.0;int s=-1;printf("n=");scanf("%d",&n);for(int i=1;i<=n;i++){ s=s*(-1);x=x+s*1.0\/(3*(i-1)+1);} printf("%.2f",x);system("pause");} ...

C语言。1-1\/4+1\/7-1\/10+1\/13+……的前n项和算不出结果啊。求9
int main(void){ int denominator, flag;int repeat, ri;double eps, item, sum;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){ scanf("%lf", &eps);item=1.0;sum=0;flag=1;denominator=1;while(eps--){\/\/这里直接这样就好 sum初值为0就可以了 sum=sum+item;flag=...

编写程序,输入一个正整数n,求前n项和 1-1\/4+1\/7-1\/10+...+1\/n 下面...
你这个有负号,定义flag=-1,然后在循环中加入flag*=-1实现正负交替即可。

相似回答