如何用c语言编写一个三个小球碰撞的程序啊

如何用c语言编写一个三个小球碰撞的程序啊,第1张

#include <stdioh>

#include <graphicsh>

int main()

{

int i,j,gdriver,gmode,size;

void buf;

gdriver=DETECT;

initgraph(&gdriver,&gmode,"d:\\tc2\\bgi");

setbkcolor(BLUE);

cleardevice();

setcolor(LIGHTRED);

setlinestyle(0,0,1);

setfillstyle(1,10);

circle(31,200,30);

floodfill(31,200,12);

size=imagesize(0,169,62,231);

buf=malloc(size);

getimage(0,169,62,231,buf);

putimage(500,269,buf,COPY_PUT);

putimage(320,170,buf,COPY_PUT);

while(1)

{

for(j=0;j<4;j++)

for(i=0;i<260;i++)

{

if(kbhit()) {closegraph();exit(0);}

switch(j)

{

case 0:

putimage(i,170,buf,COPY_PUT);

break;

case 1:

putimage(321+i,170,buf,COPY_PUT);

break;

case 2:

putimage(581-i,170,buf,COPY_PUT);

break;

case 3:

putimage(260-i,170,buf,COPY_PUT);

break;

}

}

}

}

方法如下:

1)算出最多要用多少箱子,如要放入13只球,就要分别放在4只盒子

(如下程序算法)

2)假设这几只箱子里的球都是它的编号个数,如第只盒子里放1个球,第7只盒子里放7个球,算出总和,如要放5只盒子,就假设放:

1+2+3+4+5=15只球,再用15-(真正要放入球的个数)13=2,得到2,就倒过来,把第4只盒子加1,再把第3只盒子加1,这样球就用完了,得到1,3,4,5

3)输出

-----------------------------------------------------------

1)

DIM a(8)

INPUT k

FOR i = 1 TO k

a(i) = i + 1

s = s + a(i)

v = v + 1

IF s >= k THEN EXIT FOR

NEXT i

s = 0

2)

FOR i = 1 TO v

a(i) = i

s = s + a(i)

NEXT i

x = ABS(s - k)

i = v

FOR j = 1 TO x

a(i) = a(i) + 1

i = i - 1

NEXT j

3)

FOR i = 1 TO v

PRINT a(i);

NEXT i

-----------------------------------------------------------

总结归纳最后程序清单:

CLS

DIM a(8)

INPUT k

FOR i = 1 TO k

a(i) = i + 1

s = s + a(i)

v = v + 1

IF s >= k THEN EXIT FOR

NEXT i

s = 0

FOR i = 1 TO v

a(i) = i

s = s + a(i)

NEXT i

x = ABS(s - k)

i = v

FOR j = 1 TO x

a(i) = a(i) + 1

i = i - 1

NEXT j

FOR i = 1 TO v

PRINT a(i);

NEXT i

-----------------------------------------------------------

如:

输入

9

输出

2 3 4

输入

13

输出

1 3 4 5

输入

30

输出

1 2 3 4 5 7 8

-----------------------------------------------------------

回答你,“EXIT FOR”是退出循环的意思。

懂了没,以后你可以经常问我。

"EXIT FOR"是提前结束循环的意思,和后面的NEXT没有冲突

以上就是关于如何用c语言编写一个三个小球碰撞的程序啊全部的内容,包括:如何用c语言编写一个三个小球碰撞的程序啊、QBasic编程题:装球,设8个盒子,分别编1,2……同时13个小球进将13个小球装盒中去。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9853010.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存