Chinaunix首页 | 论坛 | 博客 登录 | 注册
  • 博客访问: 2354561
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:09:04

#include
bool allequall(int child[],int n)//判断各小孩手中的糖果是否相等
{
for(int i=0;iif(child[i]!=child[i+1])
return false;//不相等返回假
return true;//相等返回真
}
const int MaxNum=20;//定义最大人数
//主函数
void main()
{
loop:
cout<<"Pelase input the number of the children:";
int Num;
cin>>Num;//输入人数
if(Num>MaxNum)
{
cout<<"Error Number!!"<goto loop;
}
int *child;
int *child1;
//构造两个相应大小的数组child代表小朋友现有的糖果数child1代表小朋友原来有的糖果数
int Tnum=0;
child=new int [Num];
child1=new int [Num];
for(int i=0;i{
cout<<"Input NO."<cin>>child[i];
}
while(!allequall(child,Num))//当糖果数不相等时循环
{
for(int d=0;d{
if(child[d]%2!=0)
{
child[d]++;
Tnum++;
}
}//把糖果数为奇数小朋友的糖果数+1
for(int c=0;cchild1[c]=child[c];//将child1赋值用来记忆原来小朋友的糖果数
for(int r=0;rchild1[r]/=2;//求出原来每个小朋友糖果数的一半
for(int a=0;a{
child[a]/=2;
child[a]+=child1[a+1];
}
child[Num-1]/=2;
child[Num-1]+=child1[0];//把最后一个小朋友糖果数的一半加第一个小朋友的糖果数
}
cout<<"每个同学最后分到糖果数目是:"<<<"老师分发出的糖果数是:"<}


--------------------next---------------------

阅读(1236) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~