
c语言画正弦函数
#include<stdio.h>
#include<math.h>
int
main(){
double
y;
int
x,m,i;
printf("y=sin(x)
[0<x<2*pi]\n");
for(y=1;y>=-1;y-=0.1){//表示y的取值范围是[-1,1]
if(y>=0){
m=asin(y)*10;
//反正弦函数,确定空格的数量,最大值为15
for(x=1;x<m;x++)printf("
");
//printf("*",m);
printf("*");//注意此时不换行,因为后面还有一个点
for(;x<31-m;x++)printf("
");//输出第二个点,并换行
printf("*\n");}
else{//同理输出y小于0的点
m=-1*asin(y)*10;
for(i=0;i<32;i++)printf("
");
for(x=1;x<m;x++)printf("
");
//printf("*",m);
printf("*");
for(;x<31-m;x++)printf("
");
printf("*\n",m);
}
}
getchar();
return
0;
}

2024-08-07 广告
#include<stdio.h>
#include<math.h>
int
main(){
double
y;
int
x,m,i;
printf("y=sin(x)
[0<x<2*pi]\n");
for(y=1;y>=-1;y-=0.1){//表示y的取值范围是[-1,1]
if(y>=0){
m=asin(y)*10;
//反正弦函数,确定空格的数量,最大值为15
for(x=1;x<m;x++)printf("
");
//printf("*",m);
printf("*");//注意此时不换行,因为后面还有一个点
for(;x<31-m;x++)printf("
");//输出第二个点,并换行
printf("*\n");}
else{//同理输出y小于0的点
m=-1*asin(y)*10;
for(i=0;i<32;i++)printf("
");
for(x=1;x<m;x++)printf("
");
//printf("*",m);
printf("*");
for(;x<31-m;x++)printf("
");
printf("*\n",m);
}
}
getchar();
return
0;
}
有很多的编程语言,也有很多的方法。都可以求出来的。因此需要做的就是先理解其真正的意义,然后用自己的方法求就好了,并没有什么特殊的规定。
例如一下的例子。
#include<stdio.h>
#include<math.h>
main(){
double y;
int x,m,i;
printf("y=sin(x) [0<x<2*pi]\n");
for(y=1;y>=-1;y-=0.1){
if(y>=0){
m=asin(y)*10;
for(x=1;x<m;x++)printf(" ");
printf("*",m);
for(;x<31-m;x++)printf(" ");
printf("*\n");}
else{
m=-1*asin(y)*10;
for(i=0;i<32;i++)printf(" ");
for(x=1;x<m;x++)printf(" ");
printf("*",m);
for(;x<31-m;x++)printf(" ");
printf("*\n",m);
}
}
}
4.一种最直接简单但是很繁琐的方法:
#include<stdio.h>
int main()
{
printf(" *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" *\n");
return 0;
}
5,/*泰勒公式求sin(x)*/
#include<stdio.h>
#include <math.h>
main()
{
double x,s1,e,s=0;
int n=1;
printf("输入x和误差范围e:\n");
scanf("%lf %lf",&x,&e);/*误差上限e要尽量取小,如取e为0.0000001。这里我们将e取为0.000001*/
s1=x;
do
{
s+=s1; /*s1为中间变量*/
s1=-s1*x*x/(n+1)/(n+2);
n+=2;
} while (fabs(s1)>=e);/*fabs为对实数求绝对值的函数*/
printf("x=%lf\nsin(x)=%lf\n",x,s);
}