Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

[Question] Approximate of pi

$
0
0
Hi , I'm new to c programming. I have been giving a task to do and I got trouble in my code.
Can someone have a look my code and give me some advice?

The task is this:

(pi^2)/16 = (-1)^k /k+1 (1 + 1/3 + 1/5 +...+ 1/(2k+1))

Write a program which computes and prints an approximation of pi using a finite number of terms from the above formula. The number of terms must be input from the keyboard (via scanf ). The program must also print an approximation error: the difference between the approximation and the value of  stored in the macro constant M_PI, defined in <math.h>.
Please start you program from

#include <stdio.h>
#include <math.h>
#ifndef M_PI
#define M_PI 3.1415926535897932384626433832795
#endif

and this is what I wrote:


//*pi^2 / 16 = (-1)^k / k(k+1) (1 + (1/3) + (1/5) + ... + ( 1/((2*k)+1)))*\\

#include <stdio.h>
#include <math.h>
#ifndef M_PI
#define M_PI 3.1415926535897932384626433832795
#endif

int main()
{
    int k, i;
    double sum = 0;

    printf("Enter number of terms: "); 
    scanf("%d",&k);

    for (i=1; i<=k; i++)
    {
    if (i %2 == 0)
    sum +=  (1.0) /(i+1); 
    else
    sum -= (1.0) /(i+1);
    }

    printf("pi = %g\n\n", sqrt(16*sum));  
    system("pause");
    }



I'm getting this:

Enter number of terms: 2 

sqrt: DOMAIN error
pi = +NAN


When I put any value, I'm still getting this.
I'm not sure where did the code went wrong.
So can I get some help?
thanks

Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>