分类：电脑/网络-软件
问题：C语言编程问题有红、黄、黑、白四色球各一个，放置在编号为1、2、 
有红、黄、黑、白四色球各一个，放置在编号为1、2、3、4四个格子的盒中，每个格子放置一只球，它们的顺序不知。甲、乙、丙三人猜测放置顺序如下：  甲：黑编号1，黄编号2；  乙：黑编号2，白编号3；  丙：红编号2，白编号4。结果证明甲乙丙三人各猜中了一半。请你写出四色球在盒子中放置情况。
回答：#include <std.h>void main(){char box[5];int i;printf("********************************\n");printf("*          放球问题            *\n");printf("********************************\n");// a:红   b:黄   c:黑     d:白for(box[1]='a';box[1]<='d';box[1]++)for(box[2]='a';box[2]<='d';box[2]++){  if (box[1]!=box[2])    for(box[3]='a';box[3]<='d';box[3]++)    {    if(box[1]!=box[3]&&box[2]!=box[3])      for(box[4]='a';box[4]<='d';box[4]++)      {      if(box[1]!=box[4]&&box[2]!=box[4]&&box[3]!=box[4])      if  (  (box[1]=='c'&&box[2]!='b' || box[1]!='c'&&box[2]=='b')      &&  (box[2]=='c'&&box[3]!='d'||box[2]!='c'&&box[3]=='d')      &&  (box[2]=='a'&&box[4]!='d'||box[2]!='a'&&box[4]=='d')        )       for(i=1;i<5;i++)        switch(box[i])        {          case 'a': printf("box[%d]=red ball\n",i);break;          case'b': printf("box[%d]=yellow ball\n",i);break;          case 'c': printf("box[%d]=black ball\n",i);break;          case 'd': printf("box[%d]=white ball\n",i);break;        }      }   }}}