Basics of C programming

Discussion in 'Programming' started by BowenDaniel, Apr 23, 2013.

  1. #1
    I composed code for sinx
    Anyway it is demonstrating yield as INF
    Why INF?? what's off with code ....
    plz help
    Code:
    #include<stdio.h>
    #include<math.h>
    int main()
    {
    float x,t=0,sum;
    int i,n,sig=1;
    printf("Input X,N");
    scanf("%f %d",&x,&n);
    x*=(3.14/180);
    sum=x;
    for(i=0;i<n;i++)
    {
    sig*=-1;
    t=(sig*x*x)/(2*i*(2*i+1));
    sum+=t;
    }
    printf("SIN(X) = %f\n",sum);
    return 0;
    }
    Code (markup):

     
    BowenDaniel, Apr 23, 2013 IP
  2. nhl4000

    nhl4000 Well-Known Member

    Messages:
    479
    Likes Received:
    14
    Best Answers:
    0
    Trophy Points:
    110
    #2
    What you are looking for is:
    #include<stdio.h>
    #include<math.h>
     
    int main() {
     
    float value, x, t, sum;
    int i, n, sign;
     
    printf("Input x (degrees), N:\n");
    scanf("%f %d",&x,&n);
    value = x;
    x *= (3.14159/180);
    t = x; 
    sum = x; 
    for(i=1;i<n+1;i++) { 
      t = (t * pow((double) (-1), (double) (2 * i - 1)) * x * x) / (2 * i * (2 * i + 1)) ; 
      sum = sum + t;
    } 
    printf("SIN(%.3f) = %f\n", value, sum);
    sum = sin(x);
    printf("Math library: SIN(%.3f) = %f\n", value, sum);
    return 0;
    }
    Code (markup):
     
    nhl4000, Apr 25, 2013 IP