22.天生棋局

        这个指针还是比较难理解一点22.天生棋局_第1张图片

                          加油干

大家可以去学习一下指针,当然这里的指针也可以改成函数


案例描述:
中国传统文化源远流长,博大精深,包含着华夏先哲的无穷智慧,也是历朝历代炎黄子孙生
活的缩影。围棋作为中华民族流传已久的一种策略性棋牌游戏,蕴含着丰富的汉民族文化内涵,  是中国文明与中华文化的体现。本案例要求创建一个棋盘,在棋盘生成的同时初始化棋盘,根据  初始化后棋盘中棋子的位置来判断此时的棋局是否是一局好棋。具体要求如下:
(1)棋盘的大小根据用户的指令确定;
(2)棋盘中棋子的数量也由用户设定;
(3)棋子的位置由随机数函数随机确定,若生成的棋盘中有两颗棋子落在同一行或同一列,  则判定为“好棋”,否则判定为“不是好棋”。

代码如下

#include
#include
#include
#include
//创建一个棋盘
int ** createBoard(int n)
{
    int ** p=(int**)calloc(sizeof(int*),n);
    int i=0;
    for(i=0; i0)
    {
        i=rand()%n;
        j=rand()%n;
        if(p[i][j]==1)//坐标已经有棋子再次循环
            continue;
        else
        {
            p[i][j]=1;
            t--;
        }
    }
    return 0;
}
//输出棋盘
int printfBoard(int **p,int n)
{
    int i,j;
    for(i=0; i0&&p[i][j-1]==1)
                {
                    printf("好棋!\n");
                    return 0;
                }
                if(i>0&&p[i-1][j]==1)
                {
                    printf("好棋!\n");
                    return 0;
                }
            }
        }
    }
    printf("不是好棋!\n");
    return 0;
}
void freeBoard(int **p,int n)
{
    int i;
    for(i=0; i

这里给出一个例子

22.天生棋局_第2张图片

22.天生棋局_第3张图片

 下期见

你可能感兴趣的:(c/c++,每日一练,c语言)