提高第36課時,實踐3,專案3 各種「棋盤」

2021-07-02 21:42:01 字數 1795 閱讀 3397

/*

*檔名稱:main.c

*作 者:金葉

*完成日期:2015/5/26

*版本號:v1.0

*問題描述:【專案3-各種「棋盤」】

*定義乙個8行8列的二維陣列a[8][8]。

(1)為二維陣列中的資料賦50以內的隨機數(程式模板中setdata()函式已經完成,利用產生隨機數的系統函式實現),可能的取值如圖所示;

(2)設計函式out()按行輸出二維陣列中的資料;

(3)設計函式outdiagonal()輸出從左上到右下對角線上的元素的值,如對圖的資料而言,輸出為48 34 12 31 40 42 34 45;再輸出從右上到左下對角線上的值;

(4)將此陣列視為「掃雷」遊戲的介面(實際上掃雷遊戲的介面一般就用二維陣列儲存其介面),通過鍵盤輸入乙個位置,輸出其周圍八個格仔中的資料,如輸入2 2時,

輸出34 30 47 29 48 14 12 31(注意:一共八個,不包括該位置上的數)(參見圖中的黃色部分),計算這些數的和並輸出。另外,如果選擇的位置在邊緣或角上時,

周圍的格數不夠八個,按實際個數輸出。請用迴圈有規律地列舉出來各個值,不要採用順序結構逐個羅列。這項功能由函式mine()完成。

(5)設計函式change()改變陣列中的值。改變的規則是:從第2行(即a[1]行)開始到最後一行,每一元素是其正上方元素和右上方元素之和,

例如a[1][0]取a[0][0]和a[0][1]之和,a[1][1]取a[0][1]和a[0][2]之和,……。對各行最後一列元素,其右上方無資料,取上一行中的第乙個元素,如a[1][7]取a[0][7]和a[0][0]之和。

對上圖中的資料,a[1]行的元素將依次為:50(48+2) 27(2+25) 41 30 33 63 60 64(16+48),a[2]行依次為77 68…114。

*/#include #include #include 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()

void setdata(int a[8][8])

//按行序優先輸出陣列

void out(int a[8][8])

printf("\n");

}printf("\n");

}//輸出對角線元素的值(從左上到右下、從右上到左下)

void outdiagonal(int a[8][8])

printf("\n");

for(i=0; i<8; i++)

printf("\n");

}//按掃雷遊戲規則,輸出a[x][y]周圍的8個數字

void mine(int a[8][8],int x, int y)}}

printf("\n這些數的和是: %d\n\n", sum);

}//按題目中所言規則更改元素的值

1-j的迴圈 又學一招

a[i][i] 這招也很有用

第3課時 體驗python

學科 人工智慧 年級 四年級上冊 課題 第3課時 體驗python 課時數 1課時 教材分析 在前面了解人工智慧含義及機器學習含義的基礎上,學生已經體驗過一些人工智慧的應用,本節課讓學生了解人工智慧離不開程式語言,通過python語言的初步學習,初步了解人工智慧程式語言,並能夠通過簡單編寫pytho...

第3課時《osg模型控制》

1.新增結點 osg中使用 osg node 和osg group 裝載模型,node是group的父類,可以通過以下 新增多個模型。osg ref ptr osgviewer viewer viewer new osgviewer viewer osg ref ptr osg group root...

第14周專案3

煙台大學計算機學院 檔名稱 xiangmu.cpp 完成日期 2017年12月3日 問題描述 實現b 樹的基本操作。基於序列完成測試。1 建立對應的3階b 樹b,用括號法輸出b樹。2 從b中分別刪除關鍵字為8和1的節點,用括號法輸出刪除節點後的b樹 輸入描述 無 輸出描述 b 的建立過程和刪除節點的...