【SWU】分糖果 怎么分

吃饱了 2014-04-13 05:08:55
 10个小孩围成一圈分糖果,老师顺次分给每个人的糖块数为12,2,8,22,16,4,10,6,14,20。然后按下列规则调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖块数变为奇数的人,再向老师补要一块,问经过多少次调整后,大家的糖块一样多,且每人多少块。
个人意见:利用死循环和穷举法进行运算,设定两个数组,a【10】和b【10】,令for(i=0;i<10;i++)输入12,2,8,22,16,4,10,6,14,20,接着for(i=1;i<10;i++)b【i】=(a【i-1】+a【i】)/2,b【0】=(a【0】+a【9】),使用一个死循环使得 上式一直进行直到满足条件。但不知道如何同时使用if语句和for循环来判定,for(i=0,i<9,i++){a[i]=a[i+1],

代码如下:

1 #include<stdio.h>
2
3 int main()
4 {
5 int a[10], b[10], i, j;
6 for(i=0;i<10;i++){
7 scanf("%d",&a[i]);
8 }
9 for(i=0;i<j;i++){
10 for(i=1;i<10;i++){
11 b[i]=(a[i]+a[i-1])/2;
12 }
13 b[0]=a[0]+a[9];
14 if(for(i=0;i<10;i++)(b[i]==b[i+1])){break;
15 for(i=0;i<10;i++){
16 printf("%d",a[i];
17 }
18 }
19 else for(i=0;i<10;i++){
20 a[i]=b[i];
21 }
22 j=j+i;
23 }
24
25
26 return 0;
27 }
28
29 printf("%d",
30
31
32 return 0;
33 }
写得挺乱的 ,新手,请大家见谅。
...全文
161 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
碚雅 2014-04-15
  • 打赏
  • 举报
回复
判断停止的条件,要遍历整个数组,检查是否有不一样的元素。
吃饱了 2014-04-15
  • 打赏
  • 举报
回复
知道了 哈哈
吃饱了 2014-04-14
  • 打赏
  • 举报
回复
但是 老师 我那个 判断哪个不会 不知道怎么用语句来判断,a【i】==a【i+1】
碚雅 2014-04-13
  • 打赏
  • 举报
回复
另外,要提醒你,我们预订的暗号是[SWU],而不是【SWU】。细节决定成败。
碚雅 2014-04-13
  • 打赏
  • 举报
回复
把每一次要做的操作弄明白就很简单了。每次操作就需要做两件事情: 1. 分一半到右边,注意最后一个要给第一个。这个分一半的过程实际上是两步:分一半,交给右边的人。 2. 遍历,将奇数补成偶数。 建议用文件来存储初始值,不然scanf会让你输入到手抽筋。

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧