c语言数组综合应用,编程,积木游戏,求助。

#包含?& ltstdio.h & gt

#包含?& 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;

}