|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如题
- // 从键盘上输入9个整数,(对照九宫格的形式,输入三行,每行输入三个数)
- // 保存在二维数组中,按数组原来位置输出第一行和第一列的所有元素。
- #include<stdio.h>
- int main()
- {
- int i, j, m, n, flag = 0, a[3][3];
- for (i = 0;i<3;i++) // 格式化九宫格
- {
- for (j = 0;j<3;j++)
- {
- a[i][j] = 0;
- }
- }
- a[1][1] = 5;
- for (i = 1;i <= 8;i++)
- {
- if (i != 5)
- {
- a[0][1] = i;
- a[2][1] = 15 - a[1][1] - i;
- for (j = 1;j <= 8;j++)
- {
- flag = 0;
- if (j != a[0][1] && j != a[1][1] && j != a[2][1])
- {
- a[0][0] = j;
- a[0][2] = 15 - a[0][1] - j;
- if (a[0][2] > 9 || a[0][2] == a[0][1])
- continue;
- else
- {
- a[2][0] = 15 - a[0][2] - a[1][1];
- a[2][2] = 15 - a[2][0] - a[2][1];
- if (a[2][2] == a[2][0])
- continue;
- a[1][0] = 15 - a[0][0] - a[2][0];
- if (a[1][0] > 9 || a[1][0] == a[0][0] || a[1][0] == a[2][0])
- continue;
- a[1][2] = 15 - a[0][2] - a[2][2];
- if (a[1][2] > 9)
- continue;
- flag = 1;
- }
- }
- if (flag == 1)
- {
- for (m = 0;m < 3;m++) // 输出九宫格
- {
- for (n = 0;n < 3;n++)
- printf("%d ", a[m][n]);
- printf("\n");
- }
- printf("\n");
- }
- }
- }
- }
- }
复制代码
|
|