正文
c语言求sin函数的程序 c语言编程sin函数
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
C语言 求sin值
首先,你的测试输入和测试输出的数据是对应不上的,你写错信息了!
输入 3.1415026, 3 的时候,输出才是 -0.07522 。
好了,正确的参考代码如下:
#include stdio.h
double power(double x, int n); // 计算乘方的函数
double fact(int n); // 计算阶乘的函数
int main(int argc, char const *argv[])
{
double x, s;
int n;
int sign = 1; //正负号开关变量,初始状态为正
printf("Please input a decimal number x , a postive int number n :\n");
scanf("%lf%d", x, n);
for (int i = 0; i = n; i++)
{
s += sign * power(x, 2 * i + 1) / fact(2 * i + 1);
sign = -sign;
}
printf("x = %g, n = %d, s = %.5lf \n", x, n, s);
return 0;
}
//计算x^n
double power(double x, int n)
{
double p = 1;
// 这样的循环条件,很简洁。因为函数传入的是形参,也不会对main的变量造成影响。
for (; n--;)
{
p *= x;
}
return p;
}
// 计算n!
double fact(int n)
{
double f = 1;
// 这样的循环条件,很简洁。因为函数传入的是形参,也不会对main的变量造成影响。
for (; n;)
{
f *= n--;
}
return f;
}
测试截图:(分别测试了角度为 180度、90度、45度的弧度值)
输入和输出语句,你不想要这么多的提示信息的话,自己修改一下就可以了。
如有帮助,烦请点采纳,谢谢!
对sin函数求"不定积分",用C语言如何实现???
1.
c语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果
2.
下面用for循环实现sin的算法,程序代码如下:
#include
#include
void
main()
{
int
i;
float
x,sum,a,b;
//sum代表和,a为分子,b为分母
char
s;
printf("please
input
x");
scanf("%f",x);
s=1;
sum=0;
a=x;
//分母赋初值
b=1;
//分子赋初值
for(i=1;a/b=1e-6;i++)
{
sum=sum+s*a/b;
//累加一项
a=a*x*x;
//求下一项分子
b=b*2*i*(2*i+1);
//求下一项分母
s*=-1;
}
printf("sum=%f\n",sum);
}
3.
关于上述程序的几点说明:上述程序的计算结果精确到小数点后六位;上述程序运用了sin的泰勒展开式
sin
x=x-x^3/3!+x^5/5!
......
,程序中将sin泰勒公式中的每一项拆成了分子,分母以及每一项前的符号这三项,以便于每一项的累加
怎样用c语言编写一个程序用来输出正弦函数值
首先:程序应该这样改c语言求sin函数的程序!
#include
#include
main()
{
double
n;
double
b,c;
scanf("%lf",n);
b=sin(n);
c=cos(n);
printf("%.2lf\n%.2lf",b,c);
return
0;
}
其次c语言求sin函数的程序,这里的n是弧度值,c语言求sin函数的程序你说的90度应该输入的是pi/2,而不是90,如果希望输入90的话,那就这样改!
#include
#include
main()
{
int
s;
double
n,b,c;
scanf("%d",s);
n=3.1415926*(s/180.0);
b=sin(n);
c=cos(n);
printf("%.2lf\n%.2lf",b,c);
return
0;
}
c语言sin程序(好答案追加分数)
程序没错!!!!!
我也在TC上运行正确!!
函数sin()的输入的精度足够高,要不假设它的精度才精确到小数点后2位,你想要4位的就不行的.实际其精确度也是有限的.
输出的双精度,你可以强制转化,如:
int
n;
n=(int)(sin(x));
这样不是可以变成int了.
但这样似乎没用,不是0就是1了.
当然了,x也可以是整数.计算时,系统自动进行将x转为双精度型.
程序结尾的getch();语句作用:
为了让你很好的看程序结果,
不让程序提前结束,
当然不用也可以看,但是上面不是显示"按任意键结束"吗?
当你想看结果时,不小心按了哪个键看不到了.
加上getch();后,这个函数的作用是从键盘(控制台)上接受一个字符.
这样加了一次保险,不小心按一次,还可以看.就象带保险套一样,按多了一次,也就会结束了.
一句话,它就是为了让你安全看程序结果.
C语言编写sin函数?求教!
#include"stdio.h"
#include"math.h"
double mysin(double x)
{double y=x,t=x,t1=x*x;
for(int i=2;fabs(t)1e-10;i+=2)
{t*=-t1/(i*(i+1));
y+=t;
}
return y;
}
int main()
{ double x;
scanf("%lf",x);
printf("%f\n",mysin(x));
return 0;
}
关于c语言求sin函数的程序和c语言编程sin函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。