zoukankan      html  css  js  c++  java
  • 井字棋游戏--数组在函数参数中得使用

    #include <stdio.h>
    #include<iostream>
    using namespace std;
    #define size 3    //define后面没有分号
    void input(int a[][size],int n);
    void output(int n);
    int whoiswin(int a[][size],int n);
    int main(){
    int music[size][size];
    input(music,size);     //数组作为函数参数时直接写名字
    int x;
    x=whoiswin(music,size);
    output(x);
    return 0;
    }
    void input(int a[][size],int n)    //以前已经说过用一个变量传入数组大小
    {
    int i,j;
    for(i=0;i<n;i++)
    {
    for(j=0;j<n;j++)
    {
    cin>>a[i][j];
    }
    }
    }
    void output(int n)
    {
    switch(n){
    case -1:cout<<"no";break;
    case 0:cout<<"0";break;
    case 1:cout<<"1";break;
    }
    }
    int whoiswin(int a[][size],int n)
    {
    int i,j;
    int flag=-1;
    int hang1,hang0,lie1,lie0;
    int zuo1,zuo0,you1,you0;
    //同时检查行和列
    for(i=0;i<n&&flag==-1;i++)    //同时检查行和列有一点小技巧可以参考
    {
    hang1=hang0=lie1=lie0=0;
    for(j=0;j<n;j++)
    {
    if(a[i][j]==1)
    {
    hang1++;
    }else{
    hang0++;
    }
    if(a[j][i]==1)
    {
    lie1++;
    }else{
    lie0++;
    }
    if(hang1==n||lie1==n)
    {
    flag=1;
    }else if(hang0==n||lie0==n){
    flag=0;
    }
    }
    }
    //检查对角线
    zuo1=zuo0=you1=you0=0;
    for(i=0;i<n&&flag==-1;i++)
    {
    if(a[i][i]==1)
    {
    zuo1++;
    }else{
    zuo0++;
    }
    if(a[i][size-i-1]==1)
    {
    you1++;
    }
    else{
    you0++;
    }
    if(zuo1==n||you1==n)
    {
    flag=1;
    }else if(zuo0==n||you0==n){
    flag=0;
    }
    }
    return flag;
    }

  • 相关阅读:
    业余无线电A类考试准备笔记
    关于互联网技术基层绩效管理的一些思考
    适合产品经理的十本书 From 俞军
    从敏捷开发到微服务,maybe再到中台
    Golang内存模型
    CSS中的那点事儿(一)--- CSS中的单位2
    CSS中的那点事儿(一)--- CSS中的单位1
    design.js
    model.js
    云技术相关的概念
  • 原文地址:https://www.cnblogs.com/BananaMan/p/11184725.html
Copyright © 2011-2022 走看看