C语言求三角函数用的是泰勒级展开不知道哪里出错了,怎么改正

问题描述:

#include <stdio.h>
int main()//三角函数
{
double pi = 3.1415926535897932;
double sin=0;
double s[100];
double x;
int y = 1;
//用户输入角度为x,最后分子为x,分母为y
printf("请输入需求三角函数的角度:\n");
scanf("%lf", &x);
x = x * (pi / 180);//角度制转化为弧度制
double constant;//作为常量计算分子累乘
constant = x;
//运用泰勒级数展开求三角函数
int a, b, c=0, d;
int coe = -1, i = -1;//系数正负一变化
int n = 0, nn;//nn为指数
for (n; n <= 100; n++)//循环到100结束
{
nn = 2 * n + 1;
i *= coe;//奇数次为正偶数次为负
//循环每一次开始a和b均初始化为1
for (a = 1; a < nn; a++)
x *= constant;//计算分子
for (b = 1; b <= nn; b++)
y *= b;
//需要初始化x和y
for (c ; c < n; c++)
s[c] = i * (x / y);
x = constant;
y = 1;//初始化数据
}
for (c = 0; c <= 99; c++)
sin = sin + s[c];
printf("正弦值为:%f\n", sin);
return 0;
}

img

第一个for(c= 的循环不需要吧