看这1篇时如果不会绘制正弦/余弦曲线可以先看看这1篇哦:控制台绘制正弦/余弦曲线
那末,如果想要同时显示的话,我们可能需要在同1行中绘制出3个或4个点了。我的思路比较简略,不过算法看上去非常非常不整洁,还望得到大家的帮助……
我通过Y等于2分之根号2和负2分之根号2和Y轴将全部图形分成4层,从上往下顺次绘制。具体看代码啦……
#include <stdio.h>
#include <math.h>
int main()
{
double y;
int x,k1,k2;
for(y=1;y>=-1;y-=0.1)
{
k1=acos(y)*10;
k2=asin(y)*10;
if(k1<k2&&k2>=0)
{
for(x=1;x<k1;x++)
printf(" ");
printf("*");
for(x=k1+1;x<k2;x++)
printf(" ");
printf("*");
for(;x<30-k2;x++)
printf(" ");
printf("*");
for(;x<62-k1;x++)
printf(" ");
printf("*
");
}
else if(k2<k1&&1<=k2&&k2<=15)
{
for(x=1;x<k2;x++)
printf(" ");
printf("*");
for(x=k2+1;x<k1;x++)
printf(" ");
printf("*");
for(;x<30-k2;x++)
printf(" ");
printf("*");
for(x=30-k2;x<62-k1;x++)
printf(" ");
printf("*
");
}
else if(k1<(30-k2)&&(30-k2)<(62-k1)&&-15<=k2&&k2<=-1)
{
for(x=1;x<k1;x++)
printf(" ");
printf("*");
for(;x<31-k2;x++)
printf(" ");
printf("*");
for(;x<62-k1;x++)
printf(" ");
printf("*");
for(;x<61+k2;x++)
printf(" ");
printf("*
");
}
else if((62-k1)<(31-k2)&&-15<=k2&&k2<=-1)
{
for(x=1;x<k1;x++)
printf(" ");
printf("*");
for(;x<62-k1;x++)
printf(" ");
printf("*");
for(;x<31-k2;x++)
printf(" ");
printf("*");
for(;x<61+k2;x++)
printf(" ");
printf("*
");
}
}
return 0;
}
大家有甚么更好的想法欢迎留言啊~
【这里还是源码,不需要资源积分】
为使本文得到斧正和发问,转载请注明出处:
http://blog.csdn.net/nomasp
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。