2.3 分糖果(补5月6日)
#include<stdio.h> void print (int s[]); int judge(int c[]); int j-0; /*记录糖果分配次数*/ main () int sweet [10]={10,2,8,22,16,4,10,6,14,20};1*初始化数组数据*/int i,t[10],1; printf ("child 1 2 3 4 5678 910\n");printf( "........................................... n"); printf ( "time \n");print (sweet) ; /*输出每个孩子手中糖果的块数*/ while(judge (sweet)) /*若不满足要求则继续进行循环*/ { /*将每个孩子手中的糖果分成一半*/for(i=0;i<10;i++) if(sweet[i]号2-=0) /*若为偶数则直接分出一半*/ t[i]=sweet[i]=sweet[i]/2; else *若为奇数则加1后再分出一半*/ t[i]=sweet[i=(sweet[i]+1)/2; /*将分出的一半糖果给右边的孩子*/ for(1=0;l<9;1++) sweet[l+1] =sweet [1+1]+t[1];sweet[0]+=t[9]; print (sweet); /*输出当前每个孩子手中的糖果数*/ } *判断每个孩子手中的糖果数是否相同*/ int judge(int c[]) int i; for(i=0;i<10;i++) if(c[0]!=c[i]) return 1; /*不相同返回1*/ return 0; /*相同返回0*/ /*输出数组中每个元素的值*/ void print(int s[]) { int k; printf(”%2d ",j++);for (k=0;k<10; k++) printf("%4d",s[k]);printf ("ln"); }