您的位置:首页 > 其它

绘制正余弦曲线

2013-12-21 11:00 176 查看
问题描述:
在控制台用”*“绘制出0°~360°的正余弦曲线
问题分析:
如果采用数组记录点,则问题就相当简单,如果不采用数组,关键在于一行中要显示两个点,我们考虑利用正余弦函数的对称性,
计算出一行中另一个点的位置。
程序代码:
#include <stdio.h>
#include <math.h>
void drawCosLine();
void drawSinLine();
int main()
{
	drawSinLine();
	drawCosLine();
	return 0;
}
void drawCosLine()
{
	int x,m;
	double y;
	for(y=1; y>=-1; y-=0.1)
	{
		m=(int)(acos(y)*10);
		for(x=1; x<m; x++)
			printf(" ");
		printf("*");
		for(; x<62-m; x++)
			printf(" ");
		printf("*\n");

	}
}

void drawSinLine()
{
	int x,m;
	double y;	
	for(y=1; y>=-1; y-=0.1) 
	{
		if(y>=0)
		{
			m=(int)(asin(y)*10);
			for(x=1; x<m; x++)
				printf(" ");
			printf("*");
			for(; x<31-m; x++)
				printf(" ");
			printf("*\n");
		}
		else{
			m=(int)(-1*asin(y)*10);
			for(x=0; x<=31; x++)
				printf(" ");
			for(x=1; x<m; x++)
				printf(" ");
			printf("*",m); 
			for(; x<31-m; x++)
				printf(" ");
			printf("*\n",m);
		}
	}
}

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: