题目描述的分糖过程是一个机械的重复过程,编程算法完全可以按照描述的过程进行模拟。
#include <stdio.h>void print(int s[]);
int judge(int c[]);
int j = 0;int main()
{static int sweet[10] = {10, 2, 8, 22, 16, 4, 10, 6, 14, 20};int i, t[10], l;printf(" childn");printf(" round 1 2 3 4 5 6 7 8 9 10n");printf("------------------------------------------n");print(sweet); while (judge(sweet)) { for (i = 0; i < 10; i++) if(0 == sweet[i]%2){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); }return 0;
}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("n");
}
本文发布于:2024-02-04 20:16:42,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170715643859262.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |