【C語言練習】排序組合

題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?

以下兩個程序的運行結果都是一樣的不過兩個程序的思想不一樣,可能很多新人第一反應都是使用第一種方法。兩種方法都可做了解。
方法一:

#include<stdio.h>
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<stdio.h>
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;
}

【運行結果】
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章