首页 > 其他分享 >分糖果

分糖果

时间:2023-04-27 16:35:57浏览次数:27  
标签:10 int sweet 循环 printf 糖果

 分析:定义长度为10的整型数组来存储每人的糖果,定义一个while循环,while循环的条件是每个孩子手中的糖果不同,在while循环中再定义一个for循环,这个for循环用来计算给其他孩子分糖果,再定义一个for循环,这个for循环用来加上分到的糖果,其中数组的0号位特殊处理,定义一个函数judge来判断是否每个孩子手中的糖果都相等

 

#include<stdio.h>
int j=0;
void print(int s[])
{
int k;
printf(" %2d",j++);
for(k=0;k<10;k++)
printf("%4d",s[k]);
printf("\n");
}
int judge(int c[])
{
int i;
for(i=0;i<10;i++)
if(c[0]!=c[i])
return 1;
return 0;
}


int main()
{
int sweet[10]={10,2,8,22,16,4,10,6,14,20};

int t[10];
//int temp[10];
int i,l;
printf("child 1 2 3 4 5 6 7 8 9 10\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
t[i]=sweet[i]=(sweet[i]+1)/2;
}
//将分的糖果加给被分糖果的孩子
for(l=0;l<9;l++)
{
sweet[l+1]=sweet[l+1]+t[l];
}
sweet[0]=sweet[0]+t[9];
print(sweet);
}

 

return 0;
}

 

 

标签:10,int,sweet,循环,printf,糖果
From: https://www.cnblogs.com/qian-heng/p/17359063.html

相关文章

  • 13.糖果问题
       代码1实现:#include<stdio.h>intjudge(intsw[]);//判断每个孩子的手中糖果是否一致voidprint(intc[]);//打印每个孩子手里的糖果数intj=0;//记录分配的次数intmain(intargc,constchar*argv[]){intsweet[10]={10,2,8,22,16,4,10,6,14,20};intt[10];pri......
  • 分糖果
    #include<stdio.h>intj=0;intjudge(intsweet[]){ inti; for(i=0;i<10;i++) { if(sweet[0]!=sweet[i])return1; } return0;}voidprint(intsweet[]){ intk; printf("%2d",j++); for(k=0;k<10;k++) pr......
  • 2.2分糖果
    1.10个小孩围成一圈分糖果,老师分给第1个小孩10块,第2个小孩2块,第3个小孩8块,第4个小孩22块,第5个小孩16块,第6个小孩4块,第7个小孩10块,第8个小孩6块,第9个小孩14块,第10个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次后大家......
  • 分糖果
     一、问题描述   10个小孩围成一圈分糖果,老师分给第1个小孩10块糖,第2个小孩2块,第3个小孩8块,第4给小孩22块,第5个小孩16块,第6个小孩4块,第7个小孩10块,第8个小孩6块,第9个小孩14块,第10个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩,糖块数为奇数的人可以向老师要......
  • 分糖果
     #include<iostream>usingnamespacestd;voidprint(ints[]);intjudge(intc[]);intj=0;intmain(){ intsweet[10]={10,2,8,22,16,4,10,6,14,20}; intt[10]; cout<<"child12345678910"<<endl; cout<&......
  • 分糖果
    自然语言解决问题:首先将每个小孩子定义,并将他们首次得到的糖果数量赋值给他们。该问题明显无法通过一次简单的传递就能结束,因此应用到循环结构。循环至所有小孩子的糖果都相同时输出次数以及所得糖果数量流程图: 具体代码:#include<bits/stdc++.h>usingnamespacestd;intj;i......
  • day 13 分糖果
    1.定义一个数组记录下每个人当前糖的个数;2.根据题设对糖的数目进行循环更新;3.当满足所以糖一致时结束;4.输出  后续代码实现过程中发现无需判断奇偶直接通过下式即可实现功能t[i+1]=(a[i]+1)/2;a[i]=(a[i]+1)/2;总代码如下:#include<iostream>usingnamespac......
  • 分糖果
    分糖果:10个小孩围成一圈分糖果,老师分给第1个小孩10块,第2个小孩2块,第3个小孩8块,第4个小孩22块,第5个小孩16块,第6个小孩4块,第7个小孩10块,第8个小孩6块,第9个小孩14块,第10个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次......
  • 糖果摄影师隐私政策
    糖果摄影师隐私政策 北京时间共舞科技有限公司是糖果摄影师的运营者(以下称“糖果摄影师”或“我们”),我们非常重视用户的隐私和个人信息保护。在使用我们的产品与/或服务时,可能会收集和使用您的相关信息。我们希望通过《糖果摄影师隐私政策》(“本隐私政策”)向您说明我们在您使用......
  • 分糖果
     #include<iostream>usingnamespacestd;intf(inta[]){ inti,f=0; for(i=0;i<=9;i++){ if(a[0]!=a[i]) f=1; }returnf;}intmain(){ inta[10]={10,2,8,22,16,4,10,6,14,20}; intt[10]; intcount=0; while(f(a)) { for(inti=0;i<=9;i++){ if(a[......