2 neqrhk NeQrhk 于 2015.07.23 11:36 提问

九宫格问题,任意的输入9个数,写个代码判断是否可以横竖斜同于用一个数。可以的话给出代码看下

九宫格问题,任意的输入9个数,写个代码判断是否可以横竖斜同于用一个数。可以的话给出代码看下

4个回答

caozhy
caozhy   Ds   Rxr 2015.07.23 15:06

假设你的九宫格放在一个二维数组中,那么可以这么写

 int sum[8];
for (int i = 0; i < 8; i++) sum[i] = 0;
for (i = 0; i < 3; i++)
{
    sum[0] += arr[0, i];
        sum[1] += arr[1, i];
        sum[2] += arr[2, i];
        sum[3] += arr[i, 0];
        sum[4] += arr[i, 1];
        sum[5] += arr[i, 2];
        sum[6] += arr[i, i];
        sum[7] += arr[i, 2-i];
}
janey19891018
janey19891018   2015.07.23 16:13

int count = 3;
int sum = 0;
int array[][];//为输入的参数
//判断横竖
for(int i = 0; i < count; i++){
int tmpSum1 = 0;
int tmpSum2 = 0;
for(int j = 0; j < count; j++){
tmpSum += array[i][j];
tmpSum2 += array[j][i];
}
}
if(sum == 0){
sum =tmpSum;
}
if(sum != tmpSum1 || sum != tmpSum1) {
println("不相等");
break;
}
}
//判断斜线
int tmp1 = 0;
int tmp2 = 0;
for(int i = 0; i < count; i++){
tmp1 += array[i][i];
tmp2 += array[count-i][i];
}
if(sum != tmp1 || sum != tmp2) {
println("不相等");
break;
}

NeQrhk
NeQrhk 能不能大概解释下代码?
2 年多之前 回复
VisualEleven
VisualEleven   Ds   Rxr 2015.07.25 09:29

将数据保存到a[3][3]的数组中。

u014306011
u014306011   2015.07.28 22:15

弄不明白问题中“横竖斜同于用一个数”是什么意思。

Csdn user default icon
上传中...
上传图片
插入图片