64,647
社区成员
发帖
与我相关
我的任务
分享
//十分不精确啊,大概就是这样做,
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
//创建一个窗口大小的缓存区;
char cWindow[25][80]={0};
for(int i=0; i<25; i++)
for(int j=0; j<79; j++)
cWindow[i][j]=32;
float A, B, C, D;
A = 2*cos(2*180*0.02* 0.00001);
B = -1;
C = sin(2*180*0.02* 0.00001);
D = 0.5; //---------------??
int n=50; //可以更改n的值,cin>>n
float* pY=new float[n];
pY[0]=D;
pY[1]=A*D+C;
pY[2]=A*pY[1]+B*D;
for (int i=2; i<n; i++)
pY[i]=A*pY[i-1] + B*pY[i-2];
//左下角作为坐标中心;
for (int i=0; i<n; i++)
{
int iRow=(int) pY[i];
cWindow[24-iRow][i]='*';
}
//输出结果;
for(int i=0; i<25; i++)
puts(cWindow[i]);
delete pY;
return 0;
}