c语言讲解!
发布网友
发布时间:2022-05-25 19:47
我来回答
共1个回答
热心网友
时间:2024-11-15 08:50
//头文件载入
#include <math.h> //数学支持
#include <graphics.h> //图形支持
#include <stdlib.h> //输入输出支持
#include <time.h> //时间处理支持
//主函数部份
void main(void)
{
//图形驱动设定
int gdriver=DETECT,gmode ;
//变量声明
int ran_number ;
float a,b,c,d,e,f ;
float x,y,x_pre,y_pre ;
float disp_x,disp_y ;
//图形驱动初始化
initgraph(&gdriver,&gmode,"\\tc");
/* setfillstyle(SOLID_FILL,RED);//设定样式*/
randomize(); //随机数处理
setbkcolor(BLUE); //设定背景颜色为蓝色
setcolor(14); //设定前景色为红色
x=y=x_pre=y_pre=0 ; //初始变量值
ran_number=90 ;
while(kbhit()==0)
{
ran_number=random(100)+1 ; //从1-100中取随机数
if(ran_number==1)
{
a=0 ;
b=0 ;
c=0 ;
d=0.15 ;
e=0 ;
f=0 ;
}
else if(ran_number>1&&ran_number<=86)
{
a=0.87 ;
b=0.014 ;
c=-0.014 ;
d=0.87 ;
e=0 ;
f=1.6 ;
}
else if(ran_number>86&&ran_number<=93)
{
a=0.26 ;
b=0.472 ;
c=0.772 ;
d=0.34 ;
e=0 ;
f=1.6 ;
}
else
{
a=0.28 ;
b=0.867 ;
c=-0.478 ;
d=0.4 ;
e=0 ;
f=0.44 ;
}
x=a*x_pre*cos(b)-d*sin(c)*y_pre+e ;
y=c*x_pre*sin(b)+d*cos(c)*y_pre+f ;
x_pre=x ;
y_pre=y ;
disp_x=(x+5)*639/12 ;
disp_y=350-y*28 ;
putpixel((int)disp_x,(int)disp_y,GREEN); //在屏幕上(disp_x,disp_y)的位置上画绿色的点。这里都换成了整形的。
}
getch();
getch(); //暂停
closegraph(); //关闭图形驱动
}
这是我所知的部分,至于他画的是什么我就不晓得了,好感像是数学图形吧,弧的可能是最大的,不过这个表达式我没见过,数学没学好