重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言分糖果函数 c语言实验 买糖果

C语言求助:十个小孩围成一圈分糖果问题

#includestdio.h

成都创新互联是一家集网站建设,宝鸡企业网站建设,宝鸡品牌网站建设,网站定制,宝鸡网站建设报价,网络营销,网络优化,宝鸡网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

int fx(int a[10])

{

int b[10];

int i,j,count=0;

do

{

count++;

for(i=0;i10;i++)    //奇数补充动作应该在分糖之前

if(a[i]%2) a[i]+=1;

for(i=0;i10;i++)

{

b[i]=a[i]/2;

a[i]=b[i];

}

a[0]=b[9]+a[0];

for(i=1;i10;i++)    //a[1]~a[9]的合并动作要补上

a[i]+= b[i-1];

for(i=0;i9;i++)

if(a[i]!=a[i+1]) break;

j=i;

}while(j!=9);

return(count);

}

void main()

{

int a[10]={10,2,8,22,16,4,10,6,14,20};

int cnt = fx(a);    //用一个局部变量保存fx的返回结果

printf("需要这样做%d次,每个人手中的糖块数量才相等,数量为%d块。",cnt,a[0]);    //因为参数处理是从右往左,所以原来的代码在引用a[0]的值时,fx函数还未被调用,所以要在printf之前先调用fx

}

c语言编程,10个小朋友围成一圈分糖果。

#include stdio.h

void rerange(int x[])

{

int temp = x[0] / 2, l, m;

l = temp;

for (int i = 1; i  10; i++)

{

m = x[i] / 2;

x[i] = m + temp;

temp = m;

}

x[0] = temp + l;

for (int i = 0; i  10; i++)

{

printf("%d ", x[i]);

if (x[i] % 2)

{

x[i] += 1;

}

}

printf("\n");

}

int main()

{

int a[10] = {12, 2, 8, 22, 16, 4, 10, 6, 14, 20};

int n = 5;

for (int i = 0; i  n; i++)

{

printf("第%d次调整:\n", i + 1);

rerange(a);

}

return 0;

}//解决请采纳

用C语言实现《分糖果》

main()

{

int n[20],c=0,t=0; /* t:为老师增发了多少颗糖*/

scanf("有多少个小孩%d",c);

for(int y=0;yc;y++)

{

scanf("第"+(y+1)+"个小孩的糖果数为%d",n[y]);

}

bool num=true;

while(num)

{int y=0;

while(num(yc-1))

{

if(n[y]==n[y+1])

num=true;

else

num=flase;

}

if(!num)

{

for(int a=0;ac-1;a++)

{

if(n[a]/2!==0)

{

n[a]=n[a]+1;

t++;

}

n[a+1]=n[a+1]+n[a]/2;

n[a]=n[a]/2;

if(a==c-1)

{

n[0]=n[0]+n[a]/2;

n[a]=n[a]/2;

}

}

}

while(num(yc-1))

{

if(n[y]==n[y+1])

num=true;

else

num=flase;

}

}

printlf("调整后,老师增发了"+%d+"颗糖",t);

printlf("整个过程,共经历了"+%d+"次",);

printlf("调整后, 每个孩子有"+%d+"颗糖");

}

c语言编程:分糖果

都已经回复过了,怎么还在重复发贴啊~~

#includestdio.h

int equal(int child[])//判断每个小孩手上的糖是否相等

{

int i;

for(i=1;i10;i++)

if(child[i]!=child[i-1])

return 1;

return 0;

}

void main()

{

int child[10]={10,2,8,22,16,4,10,6,14,20};

int i, tmp0, tmp, sum=0, count=1;

while(equal(child)) {

tmp0= child[0];

for(i=1;i10;i++) {//循环分糖

if(child[i]%2)

child[i]++;

tmp = child[i];

child[i-1]=child[i-1]/2+tmp/2;//分糖后

}

if(tmp0%2)

tmp0++;

child[9]=child[9]/2+tmp0/2;

count++;

}

printf("经过%d次后,大家手上都有%d块糖.\n", count, child[0]);

}


分享题目:c语言分糖果函数 c语言实验 买糖果
URL链接:http://cqcxhl.com/article/ddsgdcs.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP