作为一名西南交大计算机的大一新生,每次网站查看答案都要花10个金币,于是我决定将网站的答案写下来(不是标答,本人自己写的)造福大家。有问题欢迎指正TT
填表格 将1、2、3、4、5和6填入2行3列的表中,要使得每一个列右边的数字比左边的数字大,每一行下面的数字比上面的数字大。按此要求,可有几种填写方法? **输出提示信息:"The possible table satisfied above conditions are:\n" **输出格式要求:"\nNo.:%d" "\n%3d" "%3d"
代码如下:
#include <stdio.h>
int main()
{
int A[6];
A[0] = 1;
A[5] = 6;
int num = 0; //表示情况总数
int x, y, z, w; //分别代表第2 3 4 5 的数字
int j;
printf("The possible table satisfied above conditions are:\n");
for (x = 2; x < 6; x++)
{
for (y = 2; y < 6; y++)
{
for (z = 2; z < 6; z++)
{
for (w = 2; w < 6; w++)
{
if (x < y && z < w && x < w && x != z && y != w && y != z)
{
A[1] = x;
A[2] = y;
A[3] = z;
A[4] = w;
num++;
printf("\nNo.:%d", num);
for (j = 0; j < 6; j++)
{
if (j % 3 != 0)
{
printf("%3d", A[j]);
}
else
{
printf("\n%3d", A[j]); //换行操作
}
}
}
}
}
}
}
return 0;
}
ps:主要运用数组中的穷举法