关闭

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

531人阅读 评论(0) 收藏 举报
分类:

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);
}



0
0

  相关文章推荐
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16208次
    • 积分:417
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档