当前位置:首页 » 编程语言 » c语言编程分糖果
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言编程分糖果

发布时间: 2022-04-19 22:09:15

A. c语言:老师给十个小孩分发糖果,第一个和第二个小孩各分一块糖

#include;#include;float;GetSweets(int;seqNum){;;;;if(seqNum;

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

#include<stdio.h>
voidrerange(intx[])
{
inttemp=x[0]/2,l,m;
l=temp;
for(inti=1;i<10;i++)
{
m=x[i]/2;
x[i]=m+temp;
temp=m;
}
x[0]=temp+l;
for(inti=0;i<10;i++)
{
printf("%d",x[i]);
if(x[i]%2)
{
x[i]+=1;
}
}
printf(" ");
}
intmain()
{
inta[10]={12,2,8,22,16,4,10,6,14,20};
intn=5;
for(inti=0;i<n;i++)
{
printf("第%d次调整: ",i+1);
rerange(a);
}
return0;
}//解决请采纳

C. C语言 10人分糖

所有小孩同时把自己的糖果分一半给右边的小孩。注意这里是同时,并不是第一个小孩把糖给第二个小孩以后,第二个小孩再把他现有糖的一半给下一个小孩。

#include<stdio.h>
intmain()
{
intA[]={12,2,8,22,16,4,10,6,14,20},
N=sizeof(A)/sizeof(int),
steps;
inti,prev,temp;

for(steps=0;;steps++)
{
//判断是否全部相等
for(i=1;i<N;i++)
if(A[i]!=A[0])break;
if(i==N)break;
//模拟
prev=A[N-1]/2;//记录前一个小孩糖数的一半
for(i=0;i<N;i++)
{
temp=A[i]/2;
A[i]=temp+prev;
A[i]+=A[i]&1;
prev=temp;
}
}
printf("Value:%d Steps:%d",A[0],steps);
}
//Output
Value:18
Steps:16

D. :[蓝桥杯][2014年第五届真题]分糖果c语言

过不了显示是什么意思?编译错误?

E. c语言编程:分糖果

都已经回复过了,怎么还在重复发贴啊~~
#include<stdio.h>
int
equal(int
child[])//判断每个小孩手上的糖是否相等
{
int
i;
for(i=1;i<10;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;i<10;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]);
}

F. C语言分糖果,1处应该填什么

count //来做计数的。
但是这样写得话,估计编译器会报错,因为是通过i=10,来做停止循环的关键数。因为如果全部相等,会做完全部循环,不然就会break.

G. C语言编程题:分糖果,如图。没有思路T^T ,求大神

只有一个简单的思路,一起讨论一下:
第1个小孩给他一个(谁让他抢在前面呢:)
后面的小孩依次按规矩来,看应该给几个,可爱值高呢,就加一块,否则就减一块。
如果发现减到零了,那就倒回去,前面的人补一块。当然,不是全部补,只要补发到可爱值较高的地方就可以了。实际只需要计算一个总数,所以可以预先算好,直接加到总数中就行了。

开始时,第1个小孩1块糖,待补发的数量=0
第2个小孩先给2块糖,由于可爱值开始变高,待补发的数量=1
每3个小孩先给1块糖,由于可爱值变低,待补发的数量+1。
第4个小孩可爱值变低,待补发总数+1,照说应该给0块糖,当然不行,补发一块,前面的也都补一块,补3块。这个待补发数量还不能归零。当前第4个小孩的糖数应该修正成1。
第5个小孩给2块糖,由于可爱值开始变高,补发数量归零=1。
1+2+1+0+(3)+2=9

大体的思路应该就是这个样子。

H. c语言出错分糖果

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

int i,t[10],l;

printf("child 1 2 3 4 5 6 7 8 9 10 ");

printf("............................................ ");

printf("time ");

print(sweet);

while(judge(sweet))

{

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

if(sweet[i]%2==0)

t[i]=sweet[i]=sweet[i]/2;

else

t[i]=sweet[i]=(sweet[i]+1)/2;

for(l=0;l<9;l++)

sweet[l+1]=sweet[l+1]+t[l];

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;

return 0;

}

void print(int s[])

{

int k;

printf(" %2d ",j++);

for(k=0;k<10;k++)

printf("%4d",s[k]);

printf(" ");

}