有很多的编程语言,也有很多的方法。都可以求出来的。因此需要做的就是先理解其真正的意义,然后用自己的方法求就好了,并没有什么特殊的规定。
例如一下的例子。
#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);
}
#include<stdio.h>
#include<math.h>
int main()
{
double x;
int y,i,yy;
for(i=1;i<80;i++)
if(i==40)printf("*");
else printf("-");
printf("\n");
for(x=10.0;x<=360.0;x+=10)
{y=40+30*sin(x*PAI/180.0);
yy=40>y?40:y;
if(y>=40)
{
for(i=1;i<=yy;i++)
if(i<40)printf(" ");
else if(i==40)printf("|");
else if(i>40&&i<=y)printf("-");
}
else
{
for(i=1;i<=yy;i++)
if(i>=1&&i<=y)printf(" ");
else if(i==40)printf("|");
else if(i>y&&i<40)printf("-");
}
printf("\n");
}
}
实训要求画出过中线的两个正弦是上面一个半圆下面一个半圆,用了我的答案麻烦回来点个赞
/*帮帮忙,采纳我的答案!*/
#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);
}
}
}
卧槽,哪来的06年的问题突然冒在我主页了~~