Write a C program to generate sine series.
#include <math.h>
/* calculate factorial for given input */
double fact(int x) {
double res = 1.0;
while (x > 0) {
res = res * x;
x--;
}
return (res);
}
int main() {
double x, val, tmp, res = 0, pi = 3.14;
int n, i = 1, sign = 1;
/* get the inputs for x and n from user */
printf("Enter the value for x:");
scanf("%lf", &x);
printf("Enter the value for n:");
scanf("%d", &n);
tmp = x;
printf("\nSine Series:\n");
/* sine series evaluation */
x = (x * 3.14) / 180;
/* print and calculate the sine series */
while (i <= n) {
printf("((3.14/180)^%d)((%.0lf^%d)/%d!) ", i, tmp, i, i);
val = sign * pow((double)x, (double)i)/fact(i);
res = res + val;
sign = sign * -1;
i = i + 2;
if (i <= n)
printf("%c ", sign < 1 ? '-':'+');
}
/* print the sine series output */
printf("\nResult: %lf\n", res);
return 0;
}
Output:
jp@jp-VirtualBox:~/cpgms/lab_pgms/02_control_flow$ ./a.out
Enter the value for x:2
Enter the value for n:6
Sine Series:
((3.14/180)^1)((2^1)/1!) - ((3.14/180)^3)((2^3)/3!) + ((3.14/180)^5)((2^5)/5!)
Result: 0.034882
Enter the value for x:2
Enter the value for n:6
Sine Series:
((3.14/180)^1)((2^1)/1!) - ((3.14/180)^3)((2^3)/3!) + ((3.14/180)^5)((2^5)/5!)
Result: 0.034882
No comments:
Post a Comment