當前位置:首頁 » 編程語言 » 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(" ");

}