注册 登录
编程论坛 C++教室

组合 结果为什么输不出?

糊涂无罪 发布于 2012-06-05 20:40, 403 次点击
#include <iostream>
using namespace std;
int main(){
    enum color{red,yellow,blue,white,black};
    int i=0;
    int j=0;
    int k=0;
    for(;i<5;i++){
        for(;j<5;j++){
            for(;k<5;k++){
                if(!(i==j)&&!(j==k))
                {cout<<(color)i<<" ";
                cout<<(color)j<<" ";
                cout<<(color)k<<" "<<endl;
                }
            }
        }
    }
    return 0;
}
2 回复
#2
yuccn2012-06-05 21:58

#include <iostream>
 using namespace std;
 int main(){
     enum color{red,yellow,blue,white,black};
     // int i=0; 这几个屏蔽掉,否则影响循环,或者你把它放到for内部 在重新赋值
     // int j=0;
     // int k=0;

     for(int i = 0;i<5;i++){
// 如果你要保留原来的风格,这个地方加上j = 0;
         for(int j = 0;j<5;j++){
// 如果你要保留原来的风格,这个地方加上k = 0;
            for(int k = 0;k<5;k++){
                 if(!(i==j)&&!(j==k)) // 这个地方改成 if (i != j && j != k) 啊,不知道你是否想表达的是if (i != j && j != k && i != k)  
                {cout<<(color)i<<" ";
                 cout<<(color)j<<" ";
                 cout<<(color)k<<" "<<endl;
                 }
             }
         }
     }
     return 0;
 }
#3
糊涂无罪2012-06-06 10:25
回复 2楼 yuccn
vc6.0不支持赋值放在循环里面啊 另外控制条件的意思是说任意两个值不相等
1