将1~6这6个数字按每行3个进行输出,输出时要求左边的数字比右边的大,上边的数字比下边的大,求出所有可能的填写方法并统计输出排列方法有多少种。

for:

#include <stdio.h>
void main()
{
	int i,j,k,l,m,n;
	for(i=1;i<=6;i++)
		for(j=1;j<=6;j++)
			for(k=1;k<=6;k++)
				for(l=1;l<=6;l++)
					for(m=1;m<=6;m++)
						for(n=1;n<=6;n++)
							if(i>j&&j>k&&i>l&&j>m&&k>n&&l>m&&m>n&&j!=l&&k!=m&&k!=l)
							{
								printf("%d %d %d\n%d %d %d\n\n",i,j,k,l,m,n);
							}							
}

while:

#include <stdio.h>
void main()
{
	int i,j,k,l,m,n;
	i=1;
		while(i<=6)
		{
			j=1;
			while(j<=6)
			{
				k=1;
				while(k<=6)
				{
					l=1;
					while(l<=6)
					{
						m=1;
						while(m<=6)
						{
							n=1;
							while(n<=6)
							{
								if(i>j&&j>k&&i>l&&j>m&&k>n&&l>m&&m>n&&j!=l&&k!=m&&k!=l)
								{
									printf("%d %d %d\n%d %d %d\n\n",i,j,k,l,m,n);
								}
								n++;
							}
							m++;
						}
						l++;
					}
					k++;
				}
				j++;
			}
			i++;
		}
}
do-while:

#include <stdio.h>
void main()
{
	int i,j,k,l,m,n;
	i=1;
		do
		{
			j=1;
			do
			{
				k=1;
				do
				{
					l=1;
					do
					{
						m=1;
						do
						{
							n=1;
							do
							{
								if(i>j&&j>k&&i>l&&j>m&&k>n&&l>m&&m>n&&j!=l&&k!=m&&k!=l)
								{
									printf("%d %d %d\n%d %d %d\n\n",i,j,k,l,m,n);
								}
								n++;
							}while(n<=6);
							m++;
						}while(m<=6);
						l++;
					}while(l<=6);
					k++;
				}while(k<=6);
				j++;
			}while(j<=6);
			i++;
		}while(i<=6);
}



  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值