实验2-3-4 求简单交错序列前N项和 (15 分)
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
输入样例:
10
输出样例:
sum = 0.819
作者
C课程组
单位
浙江大学
代码长度限制
16 KB
时间限制
400 ms
内存限制
参考答案:
#include<stdio.h>
#include<math.h>
int main()
{
int n,a;
double result=0;
scanf("%d",&n);
for(a=1;n;n-=1)
{
if(0==a%2) a=(0-a);//%取余运算无论被除数还是除数都要求整数
result+=1.0/a;
a=abs(a);//绝对值
a+=3;
}
printf("sum = %0.3f",result);
}
注:
//double n,result=0,a;
//scanf("%f",&n);
//if(0==a%2)
//错误写法:
//1. double变量不能写入整形
//2. 参与取余%运算的除数被除数都要求整数