题目:有1、2、3、4个,请问能组成多少个互不相同且无重复数字的三位数?都是多少?
以下两个程序的运行结果都是一样的不过两个程序的思想不一样,可能很多新人第一反应都是使用第一种方法。两种方法都可做了解。
方法一:
#include
int main()
{int a=1,b=2,c=3,d=4;int i,x,y,z;for(i=100;i<1000;i++){x=i/100;y=i/10%10;z=i%10;if(x==a||x==b||x==c||x==d){if(y==a||y==b||y==c||y==d){if(z==a||z==b||z==c||z==d){if(x!=y&&x!=z&&y!=z){printf("%d%d%d ",x,y,z);}}}}}return 0;
}
方法二:
#include
int main()
{int x,y,z;for(x=1;x<5;x++){for(y=1;y<5;y++){for(z=1;z<5;z++){if(x!=y&&x!=z&&y!=z){printf("%d%d%d ",x,y,z);}}}}return 0;
}
【运行结果】
