一个比较积分插补的例子,流程图+源码
本帖最后由 bbtfcjy 于 2014-1-15 23:53 编辑#include "stdafx.h"
int main(int argc, char* argv[])
{
int a,b,f,jx,jy,x0,y0,dx,dy,da,db,qd;a=0;b=8;f=0;jx=32;jy=32;x0=0;y0=-8;dx=1;dy=1;da=1;db=-1;qd=4;
do
{
if (b==0 & qd==4){dx=-1;dy=1;da=-1;db=1;qd=1;}
else if (a==0 & qd==1) {dx=-1;dy=-1;da=1;db=-1;qd=2;printf("%d,%d\n",a,qd);}
else if (b==0 & qd==2) {dx=1;dy=-1;da=-1;db=1;qd=3;printf("%d,%d\n",b,qd);}
if (a>=b)
{ if (jy<=0) {break;}
else { if (jx<=0) {jy=jy-1;y0=y0+dy;printf("%d,%d,%d,%d\n",jx,jy,x0,y0);}
else{b=b+db;f=f+b;if (a>=2*f) {jy=jy-1;y0=y0+dy;printf("%d,%d,%d,%d\n",jx,jy,x0,y0);}
else {f=f-a;a=a+da;x0=x0+dx;y0=y0+dy;jx=jx-1;jy=jy-1;printf("%d,%d,%d,%d\n",jx,jy,x0,y0);}
}
}
if(a<b) {f=-f;}
}
else
{ if (jx<=0) {break;}
else { if (jy<=0) {jx=jx-1;x0=x0+dx;printf("%d,%d,%d,%d\n",jx,jy,x0,y0);}
else{a=a+da;f=f+a;if (b>=2*f) {jx=jx-1;x0=x0+dx;printf("%d,%d,%d,%d\n",jx,jy,x0,y0);}
else {f=f-b;b=b+db;x0=x0+dx;y0=y0+dy;jx=jx-1;jy=jy-1;printf("%d,%d,%d,%d\n",jx,jy,x0,y0);}
}
}
if(a>b) {f=-f;}
}
}
while(1);
貌似是C语言,想当年我还过了二级啊,现在不明觉厉了。
页:
[1]