棋盘,吼吼,

来源:互联网 发布:youtube搬运工赚钱知乎 编辑:程序博客网 时间:2024/04/29 17:41
/*                  * 程序的版权和版本声明部分                  * Copyright (c)2012, 烟台大学计算机学院                    * All rightsreserved.          * 文件名称:qipanyouxi。                        * 作    者:董万鹏                                                * 完成日期:2012年12月09日                * 版 本 号: v1.0                      * 输入描述:无                                * 问题描述: 略                         * 程序输出: 略                              * 问题分析: 略                              */               #include <iostream>#include <time.h>using namespace std;void setdata(int a[8][8]); //设置随机数void out(int a[8][8]); //输出数组void outDiagonal(int a[8][8]); //输出对角线元素的值void mine(int a[8][8],int x, int y); //按“扫雷”游戏的规则输出相邻格子void change(int a[8][8]); //按要求改变数值int main(){int a[8][8],x,y;setdata(a);out(a);outDiagonal(a);cout<<endl;cout<<"输入一个位置:";cin>>x>>y;mine(a,x,y);change(a);cout<<endl;cout<<"根据规则改编后的为:"<<endl;out(a);return 0;}void setdata(int a[8][8]){int i,j;srand(time(NULL));//需要用当前时间作“种子”,以便每次运行取得的序列不同for(i=0;i<8;i++)for(j=0;j<8;j++)a[i][j]=rand()%50+1;return;}//按行序优先输出数组void out(int a[8][8]){int i,j;for(i=0;i<8;i++){for(j=0;j<8;j++)cout<<a[i][j]<<'\t';cout<<endl;}cout<<endl;return ;}//输出对角线元素的值(从左上到右下、从右上到左下)void outDiagonal(int a[8][8]){int i;cout<<"从左上角到右下角输出:"<<endl;for(i=0;i<8;i++){cout<<a[i][i]<<'\t';}cout<<endl;cout<<"从个右上角到左下角输出:"<<endl;for(i=0;i<8;i++){cout<<a[i][7-i]<<'\t';}return ;}//按扫雷游戏规则,输出a[x][y]周围的8 个数字void mine(int a[8][8],int x, int y)  {      int i,j;      cout<<"a["<<x<<"]["<<y<<"]周围的数是:"<<endl;      for (i = x - 1; i <= x +1; i++)      {          for (j = y - 1; j<=y + 1; j++)          {              if ((i>= 0) && (i <= 7) && (j >= 0) && (j <= 7)&& ((i != x ) || (j != y)))             {                  cout<<a[i][j]<<'\t';                               }          }      }    }  //按题目中所言规则更改元素的值void change(int a[8][8]){int i,j;for(i=1;i<8;i++)for(j=0;j<8;j++)a[i][j]=a[i-1][j]+a[i-1][j+1];cout<<a[i][j];return ;}


心得体会:虽然程序写出来了,但这是通过老师的答案才写了出来,不过还是理解嘞,理解最重要。

原创粉丝点击