下面的C++哪里错了

来源:百度知道 编辑:UC知道 时间:2024/06/12 13:47:04
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

#include<iostream>
using namespace std;
int main()
{int a,b,c,d,e;
a=1;
b=1;
c=1;
e=0;
do
{
{
if(a==b or b==c or c==a)
{
c=c+1;
}
else
{
d=100*a+10*b+c;
cout<<d<<" ";
e=e+1;
c=c+1;
}
}
if(c=5)
{
c=1;
b=b+1;
}
if(b=5);
{
b=1;
a=a+1;
}

你的程序问题很多。这样写的可读性也不好。我写了个程序你看下:
#include<iostream>
using namespace std;
int main()
{
int i, j, k;
for(i = 1; i<=4; i++)
{
for (j = 1; j<=4; j++)
{
for (k = 1; k <= 4; k++)
{
if (i != j && i !=k && k != j)
{
cout<<i*100 + j*10 + k<<" ";
}
}
}

}
system("pause");
}

if(a==b or b==c or c==a) 改成
if(a==b || b==c || c==a) c里面没有or这个关键字,没有语法错误了,逻辑错误就看你的算法了

你完全可以用枚举写

将if(a==b or b==c or c==a) 改成if((a==b)|| (b==c)|| (c==a)),没有你写的那种语法