看這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