使用100
个double
类型的元素来定义数组data
。编写一个循环,将以下序列值存储在数组的相应元素中:
1 /(2 * 3 * 4)1 /(4 * 5 * 6)1 /(6 * 7 * 8)......
至1 /(200 * 201 * 202)
编写另一个循环来计算以下内容:
data[0] - data[1] + data[2] - data[3] + ... -data[99]
将此结果乘以4.0
,添加3.0
,并输出最终结果。
示例代码
#include <stdio.h>
int main(void)
{
double data[100]; // 存储数据值
double sum = 0.0; // 存储总和
double sign = 1.0; // 标志 - 在+1.0和-1.0之间翻转
int j = 0;
for (size_t i = 0; i < sizeof(data) / sizeof(double); ++i)
{
j = 2 * (i + 1);
data[i] = 1.0 / (j * (j + 1) * (j + 2));
sum += sign * data[i];
sign = -sign;
}
// 输出结果
printf("结果是:%.4lf\\n", 4.0*sum + 3.0);
printf("结果是pi的近似值,有没有点意思?\\n");
return 0;
}
执行上面示例代码,得到以下结果:
hema@yiibai:~/book$ gcc main.c
hema@yiibai:~/book$ ./a.out
结果是:3.1416
结果是pi的近似值,有没有点意思?