这道题是求sin(x)的近似值。一直输出不正确的答案,比如输入1,应该输出的是0.84,可是却是0.165.
#include <stdio.h>#include <math.h>
int main (void)
{
float x ;
float den=1.0; //表示分母
float con ; //x和den的商
float sum =0.0; //表示最后sin(x)的值
int flag=1; //标志位
int n =1; //阶乘的次数
int j ; //x次幂计数
int num = 1;
printf("Please enter a number :");
scanf("%f",&x);
for( con = 1.0; fabs(con) >= 0.000001;con = num / den)
{
for (j = 1; j<=n;j++)
{
num = num * x ;
den = den * j;
}
n = n + 2 ;
sum = sum + flag*con ;
flag = -flag ;
}
printf("sin(x) = %f\n",sum);
return 0 ;
}