您的位置:首页 > 其它

C程序画出正弦余弦曲线

2014-10-29 11:09 260 查看
/*显示余弦曲线的函数*/
void drawcos()
{
double y;
int x,m;

for(y=1; y>=0; y-=0.1)
{
m = acos(y)*10;
for (x=0; x<=62; x++)
{
if (x==m || x==62-m)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}

for(y=-0.1; y>=-1; y-=0.1)
{
m = acos(y)*10;
for(x=0; x<=62; x++)
{
if (x==m || x==62-m)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}


/*显示正弦曲线的函数*/
void drawsin()
{
double y;
int x, m;

for(y=1; y>=0; y-=0.1)
{
m = asin(y)*10;
for (x=0; x<=62; x++)
{
if (x==m || x==31-m)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}

for(y=-0.1; y>=-1; y-=0.1)
{
m = -asin(y)*10;
for(x=0; x<=62; x++)
{
if (x==31+m || x==62-m)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}


/*同时显示正弦曲线和余弦曲线 */
void drawcossin()
{
double y;
int x, m, n;

for(y=1; y>=0; y-=0.1)
{
m = asin(y)*10;/*计算正弦值,扩大10倍显示*/
n = acos(y)*10;/*计算余弦值,扩大10倍显示*/
for(x=0; x<=62; x++)
{
if(x==m && x==n)
{
printf("+");
}
else if (x==m || x==31-m)
{
printf("*");/*正弦曲线显示符号*/
}
else if (x==n || x==62-n)
{
printf("+");/*余弦曲线显示符号*/
}
else
{
printf(" ");
}
}
printf("\n");
}

for(y=-0.1; y>=-1; y-=0.1)
{
m = -asin(y)*10;
n = acos(y)*10;

for(x=0; x<=62; x++)
{
if(x==m && x==n)
{
printf("+");
}
else if (x==31+m || x==62-m)
{
printf("*");/*正弦曲线显示符号*/
}
else if (x==n || x==62-n)
{
printf("+");/*余弦曲线显示符号*/
}
else
{
printf(" ");
}
}
printf("\n");
}
}

以上为自己测试成功的代码

当然还会有更为简单或简洁的算法,欢迎大家提出建议和意见!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: