#include <stdio.h>
#include <math.h>
void oplot(n,x,y) /*作图函数,这里使用DOS的文本模式画图*/
int n;
double x[],y[];
{
int i, j;
char screen[25][80]; /*声明一个字符型数组,用来表示屏幕的输出*/
memset(screen, ' ', 25*80); /*将数组整体赋值为空格*/
/*画x轴*/
for( i = 0; i <79; i++)
screen[10][i] = '-';
screen[10][79] = 'X';
/*画y轴*/
for( i = 1; i <25; i++)
screen[i][40] = '|';
screen[0][40] = 'Y';
/*将符合条件的点(x,y)赋值成星号*/
for( i = 0; i < n; i++)
screen[(int)(x[i]+10)][(int)(y[i]*2+40)] = '*';
/*输出数组,在屏幕上画图*/
for( i = 0; i < 25; i++)
for( j = 0; j <80; j++)
printf("%c", screen[i][j] );
}
main()
{
int points,k;
double x[50], y[50], angle, portion;
clrscr();
points = 40; /*一共画40个点*/
portion = 4.0 * M_PI / points; /*将720度分成40份。*/
/*下边是求点的计算*/
for (k=0; k<points; k++)
{
angle=k * portion; /*求出角度*/
x[k]=2.0+angle*cos(angle); /*x,也就是复数的实部*/
y[k]=angle*sin(angle); /*y,即复数的虚部*/
}
oplot(points,x,y); /*对所求出的点作图*/
getch();
}
联系客服