怎样用c语言画正弦函数

怎样用c语言画一个正弦函数啊?要单个的正弦波?请各位指教!谢谢... 怎样用c语言画一个正弦函数啊?要单个的正弦波?请各位指教!谢谢 展开
 我来答
电子数码小百科NW
2020-02-16 · TA获得超过6493个赞
知道答主
回答量:15
采纳率:0%
帮助的人:4009
展开全部

1、首先,打开VS2019,并且创建一个C语言源文件,会看到如下的页面。

2、鼠标在下图红色圈所示的区域单击一下。

3、之后,再按Enter键,会看到新的一行。

4、在这一行中输入:#include<math.h>。

5、接着,在void main()中去定义一个单精度型变量。

6、定义完回车后,输入a=sin(90);注意,90指的是90弧度。

7、再次回车,输入printf("%f",a);。

8、可以按F5键去运行这段程序,会看到如下的结果。即90弧度的正弦值约为0.893997。

风雨22彩虹
推荐于2017-09-04 · 知道合伙人教育行家
风雨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);

 

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
暗玉血月
2018-06-04
知道答主
回答量:10
采纳率:0%
帮助的人:8780
展开全部
#define PAI 3.14159
#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");
}
}
实训要求画出过中线的两个正弦是上面一个半圆下面一个半圆,用了我的答案麻烦回来点个赞
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
依旧飘流
推荐于2017-10-15 · TA获得超过985个赞
知道小有建树答主
回答量:623
采纳率:0%
帮助的人:241万
展开全部
/*请不要看完了就走人*/
/*帮帮忙,采纳我的答案!*/

#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);
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西瓜霜951
2015-10-20 · 超过29用户采纳过TA的回答
知道答主
回答量:55
采纳率:66%
帮助的人:32.7万
展开全部
一句两句也说不清楚,你可以去看win32程序设计这本书,书上有个例子就是画正弦函数的。

卧槽,哪来的06年的问题突然冒在我主页了~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式