滑稽


私信TA

用户名:252259947

访问量:16864

签 名:

等  级
排  名 91
经  验 8519
参赛次数 14
文章发表 26
年  龄 23
在职情况 教师
学  校 河北科技师范学院
专  业 计算机科学与技术

  自我简介:

解题思路:

用三重循环解决四个数字的全排列


注意事项:

题目中说的按从小到大是误导,不需要给数字排序


参考代码:

#include<stdio.h>
int main()
{
    int a[4]={0},i,j,k,l,n;
	scanf("%d",&n);
    while(n-->0)
	{
		for(i=0;i<4;i++)
			scanf("%d",&a[i]);
		for(i=0;i<4;i++)
		{
			for(j=0;j<4;j++)
			{
				if(j==i)continue;    //如果重复跳出本次循环
				for(k=0;k<4;k++)    //排列的P44和P43是相等的所以只需要三重循环
				{
					if(k==i||k==j)continue;
					l=6-i-j-k;    //计算最后一个数字在数组中的下标
					printf("%d%d%d%d ",a[i],a[j],a[k],a[l]);
				}
			}
			printf("\n");
		}
		if(n>0)printf("\n");
	}
    return 0;
}
 

0.0分

7 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区