【C语言练习】排列组合
题目:有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;
}
【运行结果】

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
