Linux网络编程 -- 余弦曲线、余弦曲线和直线及圆的绘制

1.绘制余弦曲线

	在屏幕上用“*”显示0°~360°的余弦函数cos(x)曲线。

代码如下:

#include "stdio.h"
#include "math.h"

int main()
{
	double y;
	int m,x;
	
	for(y=1;y>=-1;y-=0.1)
	{
		m=acos(y)*10;
		for(x=1;x<m;x++)	printf(" ");
		printf("*");
		for(;x<62-m;x++)	printf(" ");
		printf("*\n");
	}
	
}

结果如下图所示:

Linux网络编程 -- 余弦曲线、余弦曲线和直线及圆的绘制

2.绘制余弦曲线和直线

	在屏幕上显示0°~360°的cos(x)曲线与直线f(x)=45*(y-1)+31的叠加图形。其中cos(x)图形用“*”表示,f(x)用“+”表示,在两个图形的交点处则用f(x)图形的符号。

代码如下:

#include "stdio.h"
#include "math.h"

int main()
{
	
	double y;
	int m,n,x,yy;
	
	for(yy=0;yy<=20;yy++)
	{
		y=0.1*yy;
		m=acos(1-y)*10;
		n=45*(y-1)+31;
		for(x=0;x<=62;x++)
		{
			if(x==n&&x==m)	printf("+");
			else if(x==n)	printf("+");
			else if(x==m||x==62-m)	printf("*");
			else printf(" ");
		}
		
		printf("\n");
			
	}
	
}

结果如下图所示:

Linux网络编程 -- 余弦曲线、余弦曲线和直线及圆的绘制

3.绘制圆

	在屏幕上用“*”画一个空心的圆。

代码如下:

#include "stdio.h"
#include "math.h"

int main()
{
	double y;
	int x,m;
	
	for(y=10;y>=-10;y--)
	{
		m=2.5*sqrt(100-y*y);
		for(x=0;x<25-m;x++)	printf(" ");
		printf("*");
		for(;x<25+m;x++)	printf(" ");
		printf("*");
		printf("\n");
	}
	
}

结果如下图所示:

Linux网络编程 -- 余弦曲线、余弦曲线和直线及圆的绘制