10个小孩分糖果(老问题)
一)课题内容使用计算机求解以下问题。
十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次后大家手中的糖的块数一样多?每人各有多少块糖?
(二)课题要求
课题分基本要求和扩展要求,基本要求是必须完成的,扩展要求视能力自选一个或多个完成。
1. 基本要求。
(1) 界面友好,由用户按键控制每个步骤,每个步骤结束后要显示每个小朋友手中的糖的块数。有提示信息或菜单帮助用户完成操作。可以使用字符界面。
(2) 程序模块及功能
①主控模块:接受用户的控制信息,完成操作并显示每步骤结果,在条件满足后退出。
②显示模块:显示每个小朋友拥有糖块数目;
③操作模块:所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。
程序设计建议。数据结构:使用数组存储每个小朋友手中的糖的块数,如int blocks[10];
2. 扩展要求。
(1) 使用图形用户界面实现