关于取球有关问题,帮忙看看错哪了
关于取球问题,帮忙看看哪里错了
//口袋有红,黄,蓝,白,黑5种颜色的球若干.每次从口袋中取出3个不同颜色的球,问有多少种取法
#include <iostream.h>
enum colors{red,yellow,blue,white,black}pri;
void main()
{
int i,j,k,loop,n=0;
while(i <=black)
{
i=red;
while(j <=black)
{
j=red;
if(i!=j)
{
while(k <=black)
{
k=red;
if((k!=i)&&(k!=j))
{
n+=1;
cout.width(4);
cout < <n;
for(loop=1;loop <4;loop++)
{
switch(loop)
{
case 1:pri=(enum colors)i;break;
case 2:pri=(enum colors)j;break;
case 3:pri=(enum colors)k;break;
default:break;
}
switch(pri)
{
case red:cout < < "red ";break;
case yellow:cout < < "yellow ";break;
case blue:cout < < "blue ";break;
case white:cout < < "white ";break;
case black:cout < < "black ";break;
default:break;
}
}
cout < <endl;
}
k++;
}
}j++;
}i++;
}
cout < < "total: " < <n < <endl;
}
------解决方案--------------------
c5 3=10啊
求排列啊 改一下就好了
#include "iostream.h "
char *color[10]={ "red ", "yellow ", "blue ", "white ", "black "};
int buffer[10];
void pailie(int n,int m,int count)
{
if(m==0)
{
for(int j=0;j <3;j++)
cout < <color[buffer[j]] < < " ";
cout < <endl;
}
for(int i=0;i <n;i++)
{
for(int k=0;k <count;k++)
if(buffer[k]==i)
goto next;
buffer[count]=i;
pailie(n,m-1,count+1);
next: ;
}
}
void main()
{
pailie(5,3,0);
}
//口袋有红,黄,蓝,白,黑5种颜色的球若干.每次从口袋中取出3个不同颜色的球,问有多少种取法
#include <iostream.h>
enum colors{red,yellow,blue,white,black}pri;
void main()
{
int i,j,k,loop,n=0;
while(i <=black)
{
i=red;
while(j <=black)
{
j=red;
if(i!=j)
{
while(k <=black)
{
k=red;
if((k!=i)&&(k!=j))
{
n+=1;
cout.width(4);
cout < <n;
for(loop=1;loop <4;loop++)
{
switch(loop)
{
case 1:pri=(enum colors)i;break;
case 2:pri=(enum colors)j;break;
case 3:pri=(enum colors)k;break;
default:break;
}
switch(pri)
{
case red:cout < < "red ";break;
case yellow:cout < < "yellow ";break;
case blue:cout < < "blue ";break;
case white:cout < < "white ";break;
case black:cout < < "black ";break;
default:break;
}
}
cout < <endl;
}
k++;
}
}j++;
}i++;
}
cout < < "total: " < <n < <endl;
}
------解决方案--------------------
c5 3=10啊
求排列啊 改一下就好了
#include "iostream.h "
char *color[10]={ "red ", "yellow ", "blue ", "white ", "black "};
int buffer[10];
void pailie(int n,int m,int count)
{
if(m==0)
{
for(int j=0;j <3;j++)
cout < <color[buffer[j]] < < " ";
cout < <endl;
}
for(int i=0;i <n;i++)
{
for(int k=0;k <count;k++)
if(buffer[k]==i)
goto next;
buffer[count]=i;
pailie(n,m-1,count+1);
next: ;
}
}
void main()
{
pailie(5,3,0);
}