主题:如何用C编写:有红、绿、蓝、白4种颜色的小球各一个,每次从中取出3个,列出3个小球不同颜色的所有可能
			
 ydwzj
				 [专家分:10]  发布于 2012-05-25 13:53:00							
			如何用C语言编写:布袋中有红、绿、蓝、白4种颜色的小球各一个,每次从中取出3个,列出3个小球不同颜色的所有可能的取法。想了很久,不能突破的问题就是如何体现随机抽取3个小球。求助高手。
						
					 
		
			
回复列表 (共3个回复)
		
								
				沙发
				
					
lnking [专家分:10]  发布于 2012-05-25 17:38:00				
				#include <iostream>
#include <string>
using namespace std;
void main()
{
    enum color{red,yellow,blue,white};
    enum color pri;
    int i,j,k;
    n=0;
    for(int i=red;i<=white;i++)
        for(int j=red;j<=white;j++)
        
            if(i!=j)//前两个求不同
            for(int k=red;k<=white;k++)
         if(k!=i&&k!=j)//第三个球不同于前两个球
n=n+1;
            
    
    cout<<endl;
    cout<<"total:"<<n<<endl;
}
							 
						
				板凳
				
					
suosuopuo [专家分:40]  发布于 2012-05-27 17:05:00				
				
4*3*2 = 24
							 
						
				3 楼
				
					
vip_ [专家分:0]  发布于 2012-05-27 17:53:00				
				main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++)    /*以下为三重循环*/
  for(j=1;j<5;j++) 
   for (k=1;k<5;k++)
    {
     if (i!=k&&i!=j&&j!=k)    /*确保i、j、k三位互不相同*/
     printf("%d,%d,%d\n",i,j,k);
    }
}
							 
									
			
我来回复