⑴ 十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第
#include main() { int i,num={..........}; int tmp={}; int n; //计数 while(1) { for(i=0;i
⑵ 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
大体的思路应该就是这个样子。
⑶ C语言的小孩分糖问题
#include;#include;int;main(void){ int;a;=;{;12,;2,;8,;22,;16,;4,;10,;6,;14,;20;}; int;i,;j; int;b; do { for;(i;=;0;;i;