本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。要求
| 输入格式: | 输入在一行中给出一个正整数N。 |
|---|---|
| 输出格式: | 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。 |
例如:
| 输入样例: | 10 |
|---|---|
| 输出样例: | sum = 0.819 |
这个题要了解双精度double的含义。
双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,是double float数据类型,C/C++中表示实型变量的一种变量类型。 C语言中,双精度浮点(double)型,占8 个字节(64位)内存空间。其数值范围为-1.7E308~1.7E+308,双精度完全保证的有效数字最高是15位。本题代码
#includeint main(){ int i=1,n,b=1,c=1; double S=0,a; scanf("%d",&n); for(i=1;i<=n;i++){ a=b*1.0/c; S=S+a; b=-b; c=c+3; } printf("sum = %.3lf",S); return 0; }



