C++的一个枚举的题

我有这样一道题:1)袋子中有red,yellow,blue,white,black五种颜色的球多个;2)一次从袋子里取出3个颜色不同的球,有几种取法;3)将每种方法的所有... 我有这样一道题:1)袋子中有 red, yellow, blue, white, black 五种颜色的球多个;2)一次从袋子里取出3个颜色不同的球,有几种取法;3)将每种方法的所有取法输出到屏幕上。我的代码如下,打不出答案,不知为什么。
/*
(1) 袋子中有 red, yellow, blue, white, black 五种颜色的球多个;
(2) 一次从袋子里取出3个颜色不同的球,有几种取法;
(3) 将每种方法的所有取法输出到屏幕上。
*/

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
int ways=0;
int t;

enum ball{
red,yellow,blue,white,black} i, j, k, pri;

for(i=red; i<=black; (enum ball)(i+1))//枚举的 别量的定义.. 第一个球
for(j=red; j<=black; (enum ball)(j+1))//第二个球
if(i!=j)
for(k=red; k<=black; (enum ball)(k+1))//第三个球
if((k!=i) && (k!=j)){
ways++;
cout<<ways<<endl;
for(t=1; t<=3; t++)//三个球
switch(t){
case 1:
pri=i; break;//第一个球的颜色
case 2:
pri=j; break;
case 3:
pri=k; break;
default:
break;
}// end of swith
switch(pri){
case red:
cout<<setw(10)<<"Red"<<endl; break;
case yellow:
cout<<setw(10)<<"Yellow"<<endl; break;
case blue:
cout<<setw(10)<<"Blue"<<endl; break;
case white:
cout<<setw(10)<<"White"<<endl; break;
case black:
cout<<setw(10)<<"Bladk"<<endl; break;
default:
break;
}
}
cout<<ways<<endl;
system("pause");
return 0;
}
展开
 我来答
百度网友38c8e98
2011-09-10 · TA获得超过2658个赞
知道小有建树答主
回答量:1131
采纳率:0%
帮助的人:591万
展开全部
你为什么都不加{}的啊
看着很费力的
你没有正确递增啊:i=(enum ball)(i+1)才对
/*
(1) 袋子中有 red, yellow, blue, white, black 五种颜色的球多个;
(2) 一次从袋子里取出3个颜色不同的球,有几种取法;
(3) 将每种方法的所有取法输出到屏幕上。
*/

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
int ways=0;
int t;

enum ball{
red,yellow,blue,white,black} i, j, k, pri;

for(i=red; i<=black; i=(enum ball)(i+1))//枚举的 别量的定义.. 第一个球
{
for(j=red; j<=black; j=(enum ball)(j+1))//第二个球
{
if(i!=j)
{
for(k=red; k<=black; k=(enum ball)(k+1))//第三个球
{
if((k!=i) && (k!=j))
{
ways++;
cout<<ways<<endl;
for(t=1; t<=3; t++)//三个球
{
switch(t)
{
case 1:
pri=i; break;//第一个球的颜色
case 2:
pri=j; break;
case 3:
pri=k; break;
default:
break;
}// end of swith
switch(pri)
{
case red:
cout<<setw(10)<<"Red"<<endl; break;
case yellow:
cout<<setw(10)<<"Yellow"<<endl; break;
case blue:
cout<<setw(10)<<"Blue"<<endl; break;
case white:
cout<<setw(10)<<"White"<<endl; break;
case black:
cout<<setw(10)<<"Bladk"<<endl; break;
default:
break;
}
}
}
}
}
}
}
cout<<ways<<endl;
system("pause");
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式