Magic Square 3x3 c ++

时间:2015-11-24 17:32:14

标签: c++

我们的老师告诉我们制作一个cx程序,生成一个3x3或更高的魔方,这是我到目前为止所得到的,但它不起作用。 请帮帮我。

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;
// A  B  C
// D  E  F
// G  H  I
int main()
{
srand(time(0));
int A,B,C,D,E,F,G,H,I;
do
{A=rand()%9+1;
B=rand()%9+1;
C=rand()%9+1;
D=rand()%9+1;
E=rand()%9+1;
F=rand()%9+1;
G=rand()%9+1;
H=rand()%9+1;
I=rand()%9+1;}
while ((A+B+C!=15) && (D+E+F!=15) && (G+H+I!=15) && (A+D+G!=15) && (B+E+H!=15) && (C+F+I!=15) &&
      (A+E+I!=15) && (C+E+G!=15) && (A!=B!=C!=D!=E!=F!=G!=H!=I));
      cout<<A<<" "<<B<<" "<<C<<endl;
      cout<<D<<" "<<E<<" "<<F<<endl;
      cout<<G<<" "<<H<<" "<<I<<endl;
return 0;
}

1 个答案:

答案 0 :(得分:0)

当您撰写A!=B!=C!=D时,您应该写A!=B && B!=C && C!=D,或者!(A==B || B==C || C==D)。你写它的方式,第一次比较将产生一个bool,然后将其与下一个值进行比较。