#包含?& ltstdlib.h & gt
#包含?& lttime.h & gt
int?主()
{
int?n,I,k = 0;
int?* s;
srand((無符號)time(0));
printf("拜托?輸入?n:“);
scanf("%d ",& ampn);
s =(int *)malloc(sizeof(int)* n);
//隨機分配1到20個積木給孩子?
for(I = 0;我& ltn;i++)
{
s[I]= rand()% 20+1;
}
while(1)
{
//輸出每壹輪兒童積木的數量?
Printf ("\ nRound %d: \n ",k++);
for(I = 0;我& ltn;i++)
{
printf("%d?",s[I]);
}
//判斷每壹位的個數是否相同?
int?end = 1;
for(I = 0;我& ltn-1;i++)
{
如果(s[i]!=s[i+1])
{
end = 0;
打破;
}
}
If(end==1)//如果相同,退出循環?
{
打破;
}
//給奇數塊的孩子加1塊?
for(I = 0;我& ltn;i++)?
{
if(s[i]%2==1)
{
s[I]+= 1;
}
}
//累加到壹個雙數後輸出數據
Printf("\n加起來壹個雙數後->);
for(I = 0;我& ltn;i++)
{
printf("%d?",s[I]);
}
//同時將壹半的積木塊轉移到下壹位,將最後壹位轉移到第壹位?
int?a,b,s0;
s0 = a = s[0];
for(I = 0;我& ltn-1;i++)
{
b = s[I+1];
s[I+1]= a/2+b/2;
a = b;
}
s[0]= a/2+s0/2;
}
回歸?0;
}