2、输入一个正整数 n ,计算交错序列1-2/3+3/5-4/7+5/9-6/11+...的前
n 项之和,输出时保留3位小数.
源程序及主要算法说明:
参考如下:
#include<stdio.h>
void main(){
int a=1,b=1;
double sum =0;
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
sum += a * 1.0* i / b;
a=-a; // 控制正负
b+=2; // 控制分母
}
printf("%.3lf",sum);
}
如有帮助,欢迎点赞+采纳哈!
代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n = 0;
int i = 0;
double sum = 0;
int flag = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
sum = sum + 1.0*flag*i / (2 * i - 1);
flag = -flag;
}
printf("%.3f", sum);
return 0;
}
供参考:
#include <stdio.h>
int main()
{
int a, i, n = 3;
double s = 0;
scanf("%d", &n);
for (a = 1, i = 1; i <= n; a += 2, i++)
s += i % 2 == 0 ? i * (-1.0) / a : i * 1.0 / a;
printf("%.3f", s);
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: