由1,2,3,4能组成多少个互不相同且无重复数字的三位数?都是多少?(c语言)

题目:由1,2,3,4能组成多少个互不相同且无重复数字的三位数?都是多少?(c语言)
思路:首先我们能看到1,2,3,4这四个数字都能作为一个3位数的百位,我们要求能组成的三位数有多少个,就是从这4个数中任意取出三个排列组合,我们定义三个变量i(百位),j(十位),k(个位),用三个for循环来求出这个三位数存放在数组(num[N])中,我们取出数字是1,2,3,4中的三个,所以的排除i=j=k的情况,这个数字就是i100+j10+k,然后将这个数组中的重复元素去除,就可以得出此题的答案
运行结果截图:
由1,2,3,4能组成多少个互不相同且无重复数字的三位数?都是多少?(c语言)_第1张图片

代码:


```c
#include
int main()
{
	int i,j,k,s;
	int t;
	int n=0;
	int num[N];
	for(i=1;i<=4;i++)
	{
		for(j=1;j<=4;j++)
		{
			for(k=1;k<=4;k++)
			{
				if(i!=j&&i!=k&&j!=k){
					num[n]=i*100+j*10+k;
					n++;
				}
					
			}
		}
	}

	//去掉数组中的重复元素 
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
				if(num[i]==num[j]&&i!=j)
				{
					num[i]=num[i+1];
					n--;
					break;
					
				}
		}
	}
	printf("由1,2,3,4组成的无重复数字分别是:\n");
	for(i=0;i<n;i++)
	printf("%d  ",num[i]);
	printf("\n这些数字共有:%d",n);
	return 0;
}

你可能感兴趣的:(c语言)