Basics of C programming

vivekgupta's Avatar, Join Date: Jun 2012
Light Poster
I wrote code for sinx

But it is showing output as INF

Why INF?? what's wrong 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;
}

Last edited by shabbir; 25Oct2012 at 16:12.. Reason: Code blocks
sirama's Avatar, Join Date: Jun 2012
Light Poster
In you code you are using the for loop that starts from zero.
Code:
for(i=0;i<n;i++)
So when the loop runs for the first time, you get infinite in the variable t and you sum become infinite.

Code:
t=(sig*x*x)/(2*i*(2*i+1));z
Whatever you add to Infinite, the result will be infinite

Start your loop from 1 (ie for(i=1;i<n;i++)
vivekgupta like this