VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1367|回复: 3

分糖果

[复制链接]
09_avatar_middle
在线会员 发表于 2010-11-3 21:04:06 | 显示全部楼层 |阅读模式
麻烦各位高手给这个题写个程序“十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩块16,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次后大家手中的糖的块数一样多?每人各有多少块糖?”我有点思路,写出来总是有问题




上一篇:编写程序:C语言和C++还有VB,这些都可以。试题,大家试试能不能编出来。
下一篇:我把多功能记事本程序制作好了,上传到哪里?
94_avatar_middle
在线会员 发表于 2010-11-3 22:48:29 | 显示全部楼层
10 2 8 22 16 4 10 6 14 20
15 6 5 15 19 10 7 8 10 17
17 11 6 11 18 15 9 8 9 14
16 15 9 9 15 17 13 9 9 12
14 16 13 10 13 17 16 12 10 11
13 15 15 12 12 16 17 14 11 11
13 15 16 14 12 14 17 16 13 12
13 15 16 15 13 13 16 17 15 13
14 15 16 16 15 14 15 17 17 15
15 15 16 16 16 15 15 17 18 17
17 16 16 16 16 16 16 17 18 18
18 17 16 16 16 16 16 17 18 18
18 18 17 16 16 16 16 17 18 18
18 18 18 17 16 16 16 17 18 18
18 18 18 18 17 16 16 17 18 18
18 18 18 18 18 17 16 17 18 18
18 18 18 18 18 18 17 17 18 18
18 18 18 18 18 18 18 18 18 18
大家看看,结果对吗?

评分

参与人数 1驿站币 +5 收起 理由
56_avatar_small zhaoshengbo + 5

查看全部评分

96_avatar_middle
在线会员 发表于 2010-11-10 10:09:49 | 显示全部楼层
用一个数组或链表,按照要求循环就行了
09_avatar_middle
online_moderator 发表于 2010-11-10 13:20:23 | 显示全部楼层
呵呵 今天才仔细看了这个帖子,也自己试了试,代码如下,多多指教。
  1. #include <iostream>
  2. using namespace std;

  3. int BiJiao(int a[])
  4. {
  5.         for (int i=0;i<10;i++)
  6.         {
  7.                 if(a[i]==a[i+1])
  8.                         continue;
  9.                 else
  10.                         break;
  11.         }
  12.         if (i==9)
  13.                 return 1;
  14.         return 0;
  15. }
  16. void FenTangGuo(int x[])
  17. {
  18.         int i=0,j=0;
  19.         int y[10];
  20.         for (;i<10;i++)
  21.         {
  22.                 y[i]=x[i];
  23.         }
  24.         do
  25.         {
  26.                 for (i=0;i<10;i++)
  27.                 {
  28.                         cout<< y[i]<<" ";
  29.                 }
  30.                 for (i=0;i<10;i++)
  31.                 {
  32.                         if(x[i]%2==1)
  33.                         {
  34.                                 x[i]++;
  35.                                 y[i]++;
  36.                         }
  37.                         if (i<=8)
  38.                         {
  39.                                 y[i+1]=y[i+1]/2;
  40.                                 y[i+1]+=x[i]/2;
  41.                         }
  42.                         else
  43.                         {
  44.                                 y[0]=y[0]/2;
  45.                                 y[0]+=x[9]/2;
  46.                         }
  47.                 }
  48.                 cout<<endl;
  49.                 for (i=0;i<10;i++)
  50.                 {
  51.                         x[i]=y[i];
  52.                 }
  53.         } while (!BiJiao(y));       
  54. }
  55. void main()
  56. {
  57.         int a[10]={10,2,8,22,16,4,10,6,14,20};
  58.         FenTangGuo(a);
  59. }
复制代码
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-7-24 02:33

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表