c语言画正弦函数

 我来答
创作者R60bPqn0Gp
2019-09-12 · TA获得超过3.5万个赞
知道大有可为答主
回答量:1.5万
采纳率:31%
帮助的人:1044万
展开全部
首先,你输出的不是正弦图像,而是反正弦图像。
#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 广告
在东莞市大凡光学科技有限公司,我们利用Halcon软件处理机器视觉项目时,会用到自定义标定板以满足特定需求。Halcon支持用户根据实际应用场景自定义标定板形状与标记点。这不仅可以灵活应对不同工作环境,还能提高标定精度。通过调整圆点数量、间... 点击进入详情页
本回答由东莞大凡提供
创作者Ct6GFIyZZv
2019-04-27 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.2万
采纳率:34%
帮助的人:906万
展开全部
首先,你输出的不是正弦图像,而是反正弦图像。
#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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风雨22彩虹
2018-06-29 · 知道合伙人教育行家
风雨22彩虹
知道合伙人教育行家
采纳数:15 获赞数:2417
爱写作爱画画

向TA提问 私信TA
展开全部
  1. 有很多的编程语言,也有很多的方法。都可以求出来的。因此需要做的就是先理解其真正的意义,然后用自己的方法求就好了,并没有什么特殊的规定。

  2. 例如一下的例子。

  3. #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);

 

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式