C之有趣-绘制余弦曲线
当我一开始看到这个问题的时候,我顿时懵圈了(委屈)。敲了这么多代码,我也算是阅代码数千的菜鸟了,如果被这个问题难住,那我以后在编程界还怎么混啊!(虽然本来就混得不怎么地)于是乎,聪明的我便寻到了答案。
废话少说。
把代码盛好端上来!
/*绘制余弦曲线*/
#include<stdio.h>
#include<math.h>
void main()
{
double x,y; //定义横纵坐标x,y
for(y=1;y>=-1;y-=0.1) //余弦一个周期内-1<=y<=1.
{
x=acos(y)*10;//把周期2*PI扩大10倍,x大约为62.
for(int i=1;i<=x;++i)//在*号之前应该有x个空格
printf(" ");//所以这里要打印空格
printf("*");//在坐标x处打印*(下同)
for(int i=1;i<=62-2*x;++i)
printf(" ");
printf("*\n");
}
}
我在这里做一下简要说明:
由于打印是从左到右、从上到下的,每次都要把一行的内容全部打印。而余弦曲线(一个周期)又是对称的,因此,每一行都必须打印一对星号。在每一行中,第一个星号之前的部分要用空格填充,每对星号之间的部分也要用空格来填充。打印结果如图所示:
ok!大功告成!
在下菜鸟一只,才疏学浅,错误恐难以避免。若各位小伙伴们,发现错误或有更好的想法,还望留言告知,在下将万分感谢!