⑴ c语言编程,sinx
在写C语言的程序时,在开头加上一个头文件math.h即可。
即可直接使用sin(x),特别注意x应该为弧度制,如果不是弧度制需要转化为弧度制。
添加头文件方法:#include<math.h>。
(1)c语言编程求sinx简单扩展阅读:
在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。
C标准函数库(C Standard library)是所有符合标准的头文件(head file)的集合,以及常用的函数库实现程序,例如I/O 输入输出和字符串控制。
不像 COBOL、Fortran 和 PL/I等编程语言,在 C 语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来创建的。
1995年,Normative Addenm 1 (NA1)批准了三个头文件(iso646.h, wchar.h, and wctype.h)增加到C标准函数库中。C99标准增加了六个头文件(complex.h, fenv.h, inttypes.h, stdbool.h, stdint.h, and tgmath.h)。
C11标准中又新增了5个头文件(stdalign.h, stdatomic.h, stdnoreturn.h, threads.h, and uchar.h)。至此,C标准函数库共29个头文件 。
常用的C语言函数库:
<math.h>,<stdio.h>,<stdlib.h>,<time.h>,<string.h>。
使用方法:#include+<函数库名>
参考资料来源:网络-C标准函数库
⑵ C语言求sinx
修改了一下。 用 前后项的递推: c=c*x*x/(float)i/(float)(i-1);
#include <stdio.h>
#include <math.h>
int main(){
double x,a,b=1,c=1,sum;
int i,count=1;
scanf("%lf",&x);
sum=x;
for (i=3; fabs(c)>1e-05;i=i+2){
c=c*x*x/(float)i/(float)(i-1);
b= -b;
sum=sum + c*b;
count++;
}
printf("%.3lf %d\n",sum,count);
return 0;
}
⑶ c语言求泰勒公式sinx近似值
你的程序错误太多。直接给出按泰勒公式展开求sinx近似值的程序。
#include<stdio.h>
#include<math.h>
intmain()
{
doublei,x,k,s=0;
scanf("%lf",&x);
k=x;
for(i=1;abs(k)>=0.0000001;i++)
{s+=k;k*=-x*x/(i*2*(i*2+1));}
printf("%.3lf",s);
return0;
}
//运行示例截图:
此时输入为角度值,例如截图中输入30,输出为0.5。
本题属于基础题。很简单的程序,不要人为复杂化。
⑷ 用C语言求sinx的值,望高人指点
你的factorial是一个函数,好象不可以直接乘以一个整数的吧,还有double
factorial(int
n)是不是需要一个返回值呢。if(n==0)
return
1;只是在n=0的时候有返回值,n!=0就没有了
⑸ c语言编程sinx
while(fabs(y)>=1e-6)//去掉分号
printf("sinx的近似值为%lf,sinx的真实值为%lf",sum,sin(x));//是lf
⑹ c语言编程,利用泰勒级数求解sinx,输入x值,求解sinx值,保留小数点后6位。
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
inti,t;
doublesum,x,tmp,xx;
printf("Inputx(real-360°~+360°)... ");
scanf("%lf",&x);
xx=x,x*=3.1415926535897932/180;printf("%f ",xx);
for(tmp=sum=x,i=2;tmp>1.0E-5;i++){
t=(i<<1)-1;
sum+=i&1?tmp*=(x*x/t/(t-1)):-(tmp*=(x*x/t/(t-1)));
}
printf("sin(%g°)=%.6f ",xx,sum);
return0;
}
⑺ 用c语言编写程序求正弦
好像可以运行啊,你用的是什么编译器?我用visual C++6.0测试通过!
另外你既然用到了getch()函数,最好在开头加一下包含头文件#include <conio.h>
其他的没什么错误了,我已经测试过了,运行结果也是正确的,当然了运行的时候你要注意x是弧度表示的,而不是角度。
⑻ C语言 求sin值
首先,你的测试输入和测试输出的数据是对应不上的,你写错信息了!
输入 3.1415026, 3 的时候,输出才是 -0.07522 。
好了,正确的参考代码如下:
#include<stdio.h>
doublepower(doublex,intn);//计算乘方的函数
doublefact(intn);//计算阶乘的函数
intmain(intargc,charconst*argv[])
{
doublex,s;
intn;
intsign=1;//正负号开关变量,初始状态为正
printf("Pleaseinputadecimalnumberx,apostiveintnumbern: ");
scanf("%lf%d",&x,&n);
for(inti=0;i<=n;i++)
{
s+=sign*power(x,2*i+1)/fact(2*i+1);
sign=-sign;
}
printf("x=%g,n=%d,s=%.5lf ",x,n,s);
return0;
}
//计算x^n
doublepower(doublex,intn)
{
doublep=1;
//这样的循环条件,很简洁。因为函数传入的是形参,也不会对main的变量造成影响。
for(;n--;)
{
p*=x;
}
returnp;
}
//计算n!
doublefact(intn)
{
doublef=1;
//这样的循环条件,很简洁。因为函数传入的是形参,也不会对main的变量造成影响。
for(;n;)
{
f*=n--;
}
returnf;
}
测试截图:(分别测试了角度为 180度、90度、45度的弧度值)