如何用C语言数组完成这个程序编写

简单数独。一个3行3列的二维数组当满足下列条件时表明它能构成一个简单数独:每一行、每一列内的数字均含1, 2, 3。请根据用户输入的一个3行3列的二维数组,编程判断并给出是否为正确的简单数独。

1个回答

#include "stdio.h"

#define N 3

int main()
{
    int arr[N][N];
    int map[N];
    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
            scanf("%d", &arr[i][j]);
    int pass = 1;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++) map[j] = 0;
        for (int j = 0; j < N; j++)
            map[arr[i][j] - 1]++;
        for (int j = 0; j < N; j++)
            if (map[j] != 1) 
            {
                pass = 0;
                break;
            }
    }
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++) map[j] = 0;
        for (int j = 0; j < N; j++)
            map[arr[j][i] - 1]++;
        for (int j = 0; j < N; j++)
            if (map[j] != 1) 
            {
                pass = 0;
                break;
            }
    }
    if (pass) printf("正确"); else printf("错误");
    return 0;
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐