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;
}