求助大佬 提前感激不尽! 10个小孩同时交换糖果问题!我的代码运行没有结果
#include<stdio.h>int cycle(int a[]);
int parity_check(int a);
int main(void)
{
int a[10]={10,2,8,22,16,4,10,6,14,20};
printf("%d",cycle(a));
return 0;
}
int parity_check(int a)//是偶数返回1
{
if(a%2!=0)return 0;
else return 1;
}
int cycle(int a[])
{
int i=0,flag=0;
int b[10];
while(1)
{
for(int ii=0;ii<10;ii++)
{
if(parity_check(a[ii])==0)a[ii]+=1;
a[ii]/=2;b[ii]=a[ii];
}
for(int k=0;k<9;k++)
{
b[k+1]+=a[k];
}
b[0]+=a[9];
for(int iii=0;iii<10;iii++)
{
a[iii]=b[iii];
b[iii]=0;
}
i++;
for(int j=1,flag=0;j<10;j++)
if(a[0]==a[j])flag++;
if(flag==9)break;
}
return(i);}