koExercise 5.2 Summing 100 data values

Exercise 5-2. Define an array, data, with 100 elements of type double. Write a loop that
will store the following sequence of values in corresponding elements of the array:


1/(2*3*4) 1/(4*5*6) 1/(6*7*8) ... up to 1/(200*201*202)


Write another loop that will calculate the following:


data[0] - data[1] + data[2] - data[3] + ... -data[99]


Multiply the result of this by 4.0, add 3.0, and output the final result. Do you recognize the
value you get?

 1 //Exercise 5.2 Summing 100 data values
 2 #include <stdio.h>
 3 
 4 int main(void)
 5 {
 6   double data[100];                    // Stores data values
 7   double sum = 0.0;                    // Stores sum of terms
 8   double sign = 1.0;                   // Sign - flips between +1.0 and -1.0
 9   size_t i = 0;
10 
11   int j = 0;
12   for( i = 0 ; i < sizeof(data)/sizeof(double) ; ++i)// sizeof (数组名字)计算了这个数字的大小
13   {
14     j = 2*(i + 1);
15     data[i] = 1.0/(j * (j + 1) * (j + 2));
16     sum += sign*data[i];
17     sign = -sign;
18  }
19 
20    // Output the result
21   printf("The result is %.4lf\n", 4.0*sum + 3.0);
22   printf("The result is an approximation of pi, isn't that interesting?\n");
23     return 0;
24     }

 

posted @ 2014-12-19 12:13  稳稳稳稳稳稳  阅读(224)  评论(0编辑  收藏  举报