1. 程式人生 > >2013-C++第15周專案參考解答連結集

2013-C++第15周專案參考解答連結集

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

課程主頁在:http://blog.csdn.net/sxhelijian/article/details/11890759

【專案1-折騰二維陣列】建立一個長度為5行4列的二維整型陣列,通過初始化,為陣列中的前兩列的10個元素賦初值,然後通過鍵盤輸入,使後兩列的10個元素獲得值,將所有元素值乘以3後儲存在陣列中。輸出陣列時,按行序優先輸出,再按列序優先輸出(輸出的第一行是陣列中的第一列……,其實輸出的就是“轉置”),再將陣列“倒”著輸出(即最後一行最後一列的最先輸出,第0行第0列的最後輸出),再輸出陣列中的所有偶數,以及行列下標之和為3的倍數的元素值。
     提示:程式設計時,可以做一點,調一點,全寫好再改會自討苦吃。

  同時也給出參考的執行介面:

  
     參考解答見:http://blog.csdn.net/sxhelijian/article/details/8266685


【專案2-楊輝三角】編寫程式,打印出以下形式的揚輝三角形。
1
1    1
1    2   1
1    3    3    1
1    4   6    4    1
1    5   10   10   5    1
1    6   15   20   15   6   1
  參考解答見:
http://blog.csdn.net/sxhelijian/article/details/8266697


【專案3-帶姓名的成績單】設score陣列中儲存同學們的C++成績,增加一個數組string name[20]並賦初值,表示同學們的姓名。這兩個陣列中,同學的姓名與成績的下標保持一致(例如name[1]和score[1]表示同一位同學的姓名和C++成績)。請(1)輸出按成績排序後的同學的名單;(2)輸出按同學姓名排序後的成績單(排序物件是字串)。提示:排序中交換score中的元素時,只要同時也交換name中的相應元素,就可以實現姓名和成績的同步(如果交換成績而不交換姓名,兩者的對應關係就被破壞了。)

  參考解答見:

http://blog.csdn.net/sxhelijian/article/details/8267164


【專案4-多科成績單】用二維陣列score[][4]儲存同學們的高數、英語、C++成績及總成績(在此假設學生的學號為整型的連續值,用陣列的行下標作學號)。在此基礎上,完成下面的操作:
(1)設計輸入成績的函式,輸入3科成績後可以自動求出總分,並將資料全儲存到陣列中;
(2)輸出各門課及總分的最高成績、最低成績、平均成績和成績的標準偏差;
(3)輸出考得總分最高、最低同學的人數及對應的學號。
參考解答見: http://blog.csdn.net/sxhelijian/article/details/8267170


【專案4擴充套件(選做)-帶姓名的多科成績單】增加用陣列string name[]表示同學們的姓名,使姓名與成績的下標保持一致(例如name[1]和score[1][0]、score[1][1]、score[1][2]和score[1][3]表示同一位同學的資料)。據此,將專案4中的第(3)項任務改為輸出總分最高的同學的姓名。

  參考解答見: http://blog.csdn.net/sxhelijian/article/details/8267177

【專案5-電子詞典】:做一個簡單的電子詞典。在檔案dictionary.txt中(本文後附了一部分(b打頭的詞)作為除錯,校內同學到我的BB教學平臺中找,校外人士感興趣的告知我Email),儲存的是英漢對照的一個詞典,詞彙量近8000個,英文與釋義間用’\t’隔開。程式設計序,將檔案中的內容讀到兩個陣列e[]和c[]中,分別代表英文和中文,由使用者輸入英文詞,顯示中文意思。執行程式後,支援使用者連續地查詞典,直到輸入“0000”結束,如下圖:
      
  提示:檔案中的詞彙已經排序,故在查詢時,用二分查詢法提高效率。
  參考解答見: http://blog.csdn.net/sxhelijian/article/details/8266708

【專案6-體會棋盤遊戲中的資料儲存】
  定義一個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 27 41 30 33 63 60 64,a[2]行依次為77 68…114。

  參考解答見:http://blog.csdn.net/sxhelijian/article/details/8266727

==================== 迂者 賀利堅 CSDN部落格專欄=================

|==  IT學子成長指導專欄  專欄文章分類目錄(不定期更新)    ==|

|== C++ 課堂線上專欄   賀利堅課程教學連結(分課程年級)   ==|

======== 為IT菜鳥起飛鋪跑道,和學生一起享受快樂和激情的大學 =======




附:部分詞典,複製到詞本中自建檔案

b.c. (縮)公元前
b/l n.(縮)提單
baby n.嬰兒,年齡最小的人
baby-sit v.(替人)看護小孩
baby-sitter n.看護小孩的人
bachelor n.單身漢,學士
back n.背;adj.背後的
backbone n.脊樑骨
backdate v.回溯
background n.背景,經歷
backing n.倒退,支援物
backlog n.未交付的訂貨
backward adv.向後,逆
backwardness n.落後(狀態)
bacon n.鹹肉,燻肉
bacterium n.細菌
bad adj.壞的,低劣的
badge n.徽章
badly adv.壞,非常,嚴重地
badminton n.羽毛球
baffle v.困擾,難倒
bag n.袋子,提包
baggage n.行李
baggy adj.袋狀的
bait n.餌,誘餌
bake v.烤,烘
baker n.麵包師
bakery n.麵包店
balance n.平衡,天平,餘額
balcony n.陽臺
bald adj.禿的
ball n.球,球狀物,舞會
ballet n.芭蕾舞
balloon n.氣球
ballooning n.熱氣球飛行運動
ball-point pen;n.圓珠筆
ballroom n.舞廳
bamboo n.竹
bamboo-shoot n.竹筍
banana n.香蕉
band n.樂隊,帶子;v.聯合
bandage n.繃帶
bandit n.盜匪,歹徒
bang n.,v.砰的一響
bank n.岸,銀行
banker n.銀行家
banking n.銀行業務、金融業
bankrupt n.,v.,adj.破產
banner n.旗幟,橫幅
banquet n.宴會
bar n.棒,杆,酒吧
barber n.理髮師
bare adj.裸的,直率的
barely adv.赤裸裸地
bargain n.交易,便宜貨
barge n.駁船
bark n.狗吠,樹皮;v.吠
barn n.穀倉,牲口棚
barometer n.晴雨表,標記
baron n.男爵
baroness n.男爵夫人,女男爵
barrel n.桶,槍(炮)管
barren adj.不育的,貧瘠的
barrier n.障礙,壁壘
barter n.易貨貿易
base n.基礎,基地;v.基於
baseball n.棒球
basement n.地下室,地窖
basic adj.基本的,基礎的
basically adv.基本上,主要地
basin n.盆,盆地
basis n.基礎,根據
basket n.籃子,筐
basketball n.籃球
bat n.球拍,蝙蝠;v.擊打
bath n.洗澡,浴室
bathe v.洗澡,沖洗
bathroom n.浴室,洗手間
batter v.打擊
battery n.電池
battle n.戰鬥,戰役
bay n.海灣,灣
bazaar n.集市
be v.是,存在
beach n.海灘,湖濱
bead n.有孔小珠
beak n.鳥嘴
beam n.樑,射線;v.發光
bean n.豆子
bear v.負擔,忍受,生育
bearing n.舉止,意義,軸承
bearish adj.熊市的
beast n.野獸,牲畜
beat v.打,擊敗;n.擊打
beautiful adj.美麗的,絕妙的
beauty n.美,美女
because conj.因為,由於
become v.變成
bed n.床,河床,苗圃
bedroom n.臥室
bee n.蜜蜂
beef n.牛肉
beer n.啤酒
beetle n.甲蟲
before prep.在...前面
beforehand adv.事先,預先
beg v.乞討,懇求
beggar n.乞丐
begin v.開始,著手進行
beginner n.初學者
beginning n.開端,起點
behalf n.代表
behave v.行為,舉動
behavior n.行為,舉止
behind prep.在...後面
behindhand adj.落後,事後
being n.生物,存在
belief n.信仰,信心
believe v.相信,認為
bell n.鍾,鈴
belly n.肚子
belong v.屬於
beloved adj.敬愛的;n.愛人
below adj.,prep.在...下面
belt n.帶,腰帶
bench n.長凳,工作臺
bend v.彎曲,俯身;n.拐彎
beneath prep.在...之下
beneficial adj.有益的,有利的
beneficiary n.受益者
benefit n.益處,利益
benevolence n.慈悲,捐助
benevolent adj.樂善好施的
bent adj.彎曲的
berry n.漿果
beside prep.在...之旁
besides adj.而且;prep...之外
best adj.最好的
bestow v.贈給,授予
best-seller n.暢銷書(貨)
best-selling adj.暢銷的
bet n.,v.打賭
betray v.背叛,洩露
betrayal n.背叛,暴露
better adj.更好的;adv.較好
better-off adj.經濟情況較好的
between prep.在兩者之間
beverage n.飲料
beware v.當心
bewilder v.迷惑,茫然
beyond prep.在...那邊,超出
bias n.偏好
bible n.聖經
bicycle n.自行車
bid n.,v.報價,投標
bidding n.投標
big adj.大的,重大的
bike n.自行車
bill n.帳單,議案,鈔票
billion n.十億
bind v.捆綁,約束
binding n.裝訂
biographer n.傳記記者
biography n.傳記
biologist n.生物學家
biology n.生物學
bird n.鳥
birth n.出生,創始
birthday n.生日,誕辰
birthplace n.出生地
biscuit n.餅乾
bishop n.主教
bit n.小片,一點
bite n.,v.咬,叮;n.一口
bitter adj.苦的,痛苦的
bitterly adv.慘痛地,辛酸地
bitterness n.苦味,苦難
black adj.黑的;n.黑色
blackboard n.黑板
blacksmith n.鐵匠
blade n.刀刃,葉片
blame v.責備;n.過失
blank adj.空白的;n.空格
blanket n.毛毯
blast n.陣風;v.爆炸
blaze n.火光,光亮
bleach v.漂白,變白
bleed v.出血,流血
blend v.混合,摻混
bless v.保佑,祝福
blessing n.祝福
blind adj.瞎的;v.使失明
blink adj.眨眼,閃爍
block n.大塊,街區,障礙物
blockage n.封鎖
blond adj.金髮的
blood n.血,血統
bloody adj.流血的,殘忍的
bloom n.花;v.開花
blossom n.(果樹的)花
blot n.汙跡
blouse n.女衫
blow v.吹,吹掉,颳風
blue adj.藍色的,憂鬱的
blunder n.大錯
blunt adj.鈍的,生硬的
blush v.臉紅,害臊
blushy adj.害羞的
board n.木板,伙食,董事會
boarding n.伙食
boast v.誇口,以...而自豪
boat n.小船,艇
body n.身體,屍體,團體
bodyguard n.保鏢
boil v.沸騰,煮沸
boiler n.鍋爐
boiling adj.沸騰的
bold adj.大膽的
boldness n.膽略
bolt n.螺檢,插銷;v.閂門
bomb n.炸彈;v.轟炸
bomber n.轟炸機
bonafide adj.真誠的,無欺的
bond n.束縛,聯結,債券
bonded adj.保稅的
bone n.骨,骨骼
bonus n.紅利
bony adj.骨頭的
book n.書;v.預訂(票)
bookcase n.書櫥
booking adj.定貨
booklet n.小冊子
bookshelf n.書架
bookstore n.書店
boom v.隆隆響,興旺,繁榮
booming adj.興旺的,繁榮的
boost v.擡高,促進
boot n.靴子
booth n.貨攤,電話亭
border n.國界,邊境
bore v.煩擾,使厭煩,鑽孔
boring adj.討厭的
born adj.出生的,天生的
borrow v.借,借用
borrowings n.借款
bosom n.胸,胸懷
boss n.上司,老闆
bossy adj.好發號施令的
both pron.,adj.雙方,兩
bother v.打擾,麻煩;n.麻煩
bottle n.瓶子
bottle-neck n.影響...的環節
bottom n.底部,末尾
bottom-line n.末行數字,結果
bough n.大樹枝
bounce v.跳起;n.跳躍
bound v.縛,以...為界
boundary n.界線,邊界
bourgeois n.資產階級分子
bow v.鞠躬,服從;n.弓
bowl n.碗,鉢
bowling n.保齡球
box n.箱,盒;v.拳擊
boxer n.拳擊運動員
boxing n.拳擊
boxing-day n.節禮日
boy n.男孩,小夥子
boycott v.,n.抵制
brace n.支撐;v.激勵
bracket n.括號
brag v.吹噓,誇口
brain n.腦子,頭腦,智慧
brake n.制動器;v.剎車
brake n.v.剎車
branch n.樹枝,分支,分部
brand n.牌子,商標
brandy n.白蘭地
brass n.黃銅
brave adj.勇敢的;v.冒著
bravely adv.勇敢地
bravery n.勇敢
brazil n.巴西
brazilian adj.,n.巴西的(人)
breach n.違反(契約)
bread n.麵包,生計
bread-earner n.掙錢養家的人
breadth n.寬度,大量
break n.打破,破壞;n.裂口
breakage n.裂口
breakdown n.故障,衰竭
breakfast n.早飯
breakthrough n.突破
breast n.乳房,胸脯
breath n.呼吸,氣息
breathe v.呼吸
breed v.繁殖,飼養;n.品種
breeze n.微風
bribe v.賄賂
bribery v.賄賂
brick n.磚
bride n.新娘
bridegroom n.新郎
bridge n.橋樑,橋牌
bridle n.約束;v.抑制
brief adj.簡短的
briefing n.簡要情況
briefly adv.簡單地,簡短地
bright adj.明亮的,鮮明的
brighten v.使發光
brightness n.光輝,明亮
brilliance n.輝煌,光彩
brilliant v.輝煌的,傑出的
brim n.邊,邊緣
bring v.拿來,帶來
brink n.邊緣
brisk adj.敏捷的,活躍的
bristle n.鬃毛
britain n.不列顛,英國
british adj.英國的,英屬的
brittle adj.易碎的,脆的
broad adj.寬的,遼闊的
broadcast v.,n.廣播
broadcasting n.廣播節目
broaden v.加寬,擴大
brochure n.產品介紹手冊
broken adj.破碎的,毀壞了的
broker n.經紀人
bronze n.青銅
brood n.一窩
brook n.小河,溪流
broom n.掃帚
brother n.兄弟,同胞
brotherhood n.兄弟情誼
brother-in-law n.姻兄(弟)
brow n.眉毛,額
brown n.,adj.褐色(的)
bruise n.青腫;v.打傷
brush n.刷子,畫筆;v.刷
brutal adj.野蠻的
brute n.禽獸,畜生
bubble n.氣泡
bucket n.水桶
bud n.芽,蓓蕾
buddhism n.佛教
buddhist n.佛教徒
budget n.預算
buffalo n.水牛,野牛
buffet n.冷餐
bug n.臭蟲,蟲子
bugle n.喇叭
build v.建造,建設
builder n.建築工人,建設者
building n.建築物,大樓
bulb n.球形物,燈泡
bulk n.體積,大半
bulky adj.龐大的,笨重的
bull n.公牛
bullet n.子彈
bulletin n.公報
bullion n.金塊,金條
bullish adj.行情看漲的
bump v.碰,顛簸;n.碰撞
bumpy adj.顛簸不平的
bunch n.一束
bundle n.,v.捆,包
burden n.擔子,負擔
burdensome adj.沉重的
bureau n.局,司,辦公室
bureaucracy n.官僚主義
bureaucratic adj.官僚主義的
burglar n.夜盜,竊賊
burglary n.盜竊
burial n.埋葬
burn v.燒,燃燒,燒傷
burner n.噴燈
burnt adj.燒焦的,燒壞的
burst v.,n.爆炸,破裂
bury v.掩埋,安葬
bus n.公共汽車
bush n.灌木
bushel n.蒲式耳(重量單位)
business n.行業,買賣,商號
businesslike adj.事務式的
busy adj.忙碌的,熱鬧的
but prep.但是,除了
butcher n.屠夫;v.屠宰
butchery n.肉食店
butt n.根端;v.頂撞
butter n.黃油
butterfly n.蝴蝶
button n.鈕釦,按鈕
buy v.買,購買
buyer n.購買者
buzz v.嗡嗡叫;n.嗡嗡聲
by prep.在...旁邊,按照
bygone n.已往的,過時的
bypass n.旁道,分路
by-product n.副產品

  


http://blog.csdn.net/sxhelijian/article/details/11890759


【專案1-折騰二維陣列】建立一個長度為5行4列的二維整型陣列,通過初始化,為陣列中的前兩列的10個元素賦初值,然後通過鍵盤輸入,使後兩列的10個元素獲得值,將所有元素值乘以3後儲存在陣列中。輸出陣列時,按行序優先輸出,再按列序優先輸出(輸出的第一行是陣列中的第一列……,其實輸出的就是“轉置”),再將陣列“倒”著輸出(即最後一行最後一列的最先輸出,第0行第0列的最後輸出),再輸出陣列中的所有偶數,以及行列下標之和為3的倍數的元素值。
     提示:程式設計時,可以做一點,調一點,全寫好再改會自討苦吃。

  同時也給出參考的執行介面:

  
     報告模板及部分程式碼

/** 程式的版權和版本宣告部分* Copyright (c)2012, 煙臺大學計算機學院學生* All rightsreserved.* 檔名稱: array.cpp                           * 作    者:                            * 完成日期:  年  月   日* 版本號: v1.0      * 輸入描述:無* 問題描述:定義二維陣列,為陣列賦初值、輸入值、更改值、按各種方法輸出*/#include <iostream>using namespace std;int main( )int i,j;    //建立5行4列的二維整型陣列,為陣列中的前兩列的10個元素賦初值 int a[5][4]={{0,1},{4,5},{8,9},{12,13},{16,17}};  //鍵盤輸入使後兩列10個元素的值 cout<<"請輸入10個整數:"<<endl//按行序優先輸出 cout<<"陣列中的值為:"<<endl;  //將所有元素值乘以3後儲存在陣列中 cout<<"現在將所有元素乘以3倍...";  //按行序優先輸出 cout<<"行序優先輸出:"<<endl;   //按列序優先輸出(輸出的第一行是陣列中的第一列……,其實輸出的就是“轉置”) cout<<"列序優先輸出:"<<endl;  //將陣列“倒”著輸出(即最後一行最後一列的最先輸出,第0行第0列的最後輸出) cout<<"倒著輸出:"<<endl//輸出陣列中的所有偶數 cout<<"陣列中的偶數:"<<endl;  //輸出所有行列下標之和為3的倍數的元素值 cout<<"行列下標之和為3的倍數的元素:"<<endlreturn 0;}

補充:為了督促同學們學會與習慣使用單步除錯工具,要求在報告中加一張圖,圖示在單步執行時,看到的陣列a中各行各列的值。


【專案2-楊輝三角】編寫程式,打印出以下形式的揚輝三角形。
1
1    1
1    2   1
1    3    3    1
1    4   6    4    1
1    5   10   10   5    1
1    6   15   20   15   6   1
  可以將楊輝三角形的值放在一個方形矩陣的下半三角中,如果需列印7行楊輝三角形,應該定義等於或大於7X7的方形矩陣,只是矩陣的上半部和其餘部分並不使用。楊輝三角形具有如下特點:(1)第0列和對角線上的元素都為1。(2)除第0列和對角線上的元素以外,其它元素的值均為前一行上的同列元素和前一列元素之和。
  函式setdata按以上規律給陣列元素置數,函式outdata輸出楊輝三角形。

#include <iostream>  using namespace stdint main()  {    int a[7][7]={0};    setdata(a); //給陣列賦值    outdata(a); //輸出陣列    return 0;}  void setdata(int a[7][7])  {  }  void outdata(int a[7][7])  {   }  

【專案3-帶姓名的成績單】設score陣列中儲存同學們的C++成績,增加一個數組string name[20]並賦初值,表示同學們的姓名。這兩個陣列中,同學的姓名與成績的下標保持一致(例如name[1]和score[1]表示同一位同學的姓名和C++成績)。請(1)輸出按成績排序後的同學的名單;(2)輸出按同學姓名排序後的成績單(排序物件是字串)。提示:排序中交換score中的元素時,只要同時也交換name中的相應元素,就可以實現姓名和成績的同步(如果交換成績而不交換姓名,兩者的對應關係就被破壞了。)



【專案4-多科成績單】用二維陣列score[][4]儲存同學們的高數、英語、C++成績及總成績(在此假設學生的學號為整型的連續值,用陣列的行下標作學號)。在此基礎上,完成下面的操作:
(1)設計輸入成績的函式,輸入3科成績後可以自動求出總分,並將資料全儲存到陣列中;
(2)輸出各門課及總分的最高成績、最低成績、平均成績和成績的標準偏差;
(3)輸出考得總分最高、最低同學的人數及對應的學號。
要求:學生人數num在main()函式中輸入,score[][4]陣列也是main()函式的區域性變數,最好將其他功能也設計成函式,使main()函式儘可能地簡單。
【專案4擴充套件(選做)-帶姓名的多科成績單】增加用陣列string name[]表示同學們的姓名,使姓名與成績的下標保持一致(例如name[1]和score[1][0]、score[1][1]、score[1][2]和score[1][3]表示同一位同學的資料)。據此,將專案4中的第(3)項任務改為輸出總分最高的同學的姓名。


【專案5-電子詞典】:做一個簡單的電子詞典。在檔案dictionary.txt中(本文後附了一部分(b打頭的詞)作為除錯,校內同學到我的BB教學平臺中找,校外人士感興趣的告知我Email),儲存的是英漢對照的一個詞典,詞彙量近8000個,英文與釋義間用’\t’隔開。程式設計序,將檔案中的內容讀到兩個陣列e[]和c[]中,分別代表英文和中文,由使用者輸入英文詞,顯示中文意思。執行程式後,支援使用者連續地查詞典,直到輸入“0000”結束,如下圖:
      
  提示:檔案中的詞彙已經排序,故在查詢時,用二分查詢法提高效率。


【專案6-體會棋盤遊戲中的資料儲存】
  定義一個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 27 41 30 33 63 60 64,a[2]行依次為77 68…114。
程式模板:

#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<<"輸入一個位置:"cin>>x>>y; mine(a,x,y); change(a); 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]){}//輸出對角線元素的值(從左上到右下、從右上到左下)void outDiagonal(int a[8][8]){}//按掃雷遊戲規則,輸出a[x][y]周圍的8個數字void mine(int a[8][8],int x, int y){}//按題目中所言規則更改元素的值void change(int a[8][8]){}

【拓展-二維陣列更多用處】這部分可以不去選擇實踐,看看、想想即可。
  中國象棋的棋盤也可以採用二維陣列儲存。
  (1)下棋程式需要體現相關的規則,例如,馬走日。通過鍵盤輸入一個位置,輸出按“日”字型可以走到的所有位置,及其位置上的數值。例如,在專案6的圖中,輸入2 2時,輸出(0,1,2)(0,3,16) (1,0,9) (1,4,12)……(專案6圖中的背景有斜線的部分。可走到的位置一般為八個,位置在邊緣或角上時,可能不夠八個,按實際輸出)。
  (2)馬走日還有“別馬腿”的規則。在任務4的圖中,如果馬腿位置上的數大於25,認為馬腿被別了(實際遊戲中,以該位置是否有棋子進行判斷)。請在(1)的基礎上考慮這一規則,只輸出所有能走到的位置及數值。
  俄羅斯方塊中的每一個小方塊也用二維陣列(一般4*4或8*8)表示,單色遊戲陣列元素用0、1即可,彩色的取值不限於0、1。對小方塊的基本操作包括左旋、右旋、反轉等操作。請針對上面的二維陣列,實現左旋、右旋、反轉等操作。
  JPEG是數字影象儲存的國際標準。在JPEG編碼規則中,其編碼的基本單位是8*8的影象“塊”,其中有一個環節叫“Z字型編碼”,也即將一個8*8的“塊”中資料按如圖所示的方向取出,形成一個1*64的向量(可以儲存在一個一維陣列中)。請輸出前面的8*8的資料塊對應的向量。

  
  《線性代數》是工程數學的重要組成,在大二時開設,其中將涉及大量矩陣的運算,用於解決工程中的問題。在程式設計實現矩陣操作時,就是二維陣列的操作。


附:部分詞典,複製到詞本中自建檔案

b.c. (縮)公元前
b/l n.(縮)提單
baby n.嬰兒,年齡最小的人
baby-sit v.(替人)看護小孩
baby-sitter n.看護小孩的人
bachelor n.單身漢,學士
back n.背;adj.背後的
backbone n.脊樑骨
backdate v.回溯
background n.背景,經歷
backing n.倒退,支援物
backlog n.未交付的訂貨
backward adv.向後,逆
backwardness n.落後(狀態)
bacon n.鹹肉,燻肉
bacterium n.細菌
bad adj.壞的,低劣的
badge n.徽章
badly adv.壞,非常,嚴重地
badminton n.羽毛球
baffle v.困擾,難倒
bag n.袋子,提包
baggage n.行李
baggy adj.袋狀的
bait n.餌,誘餌
bake v.烤,烘
baker n.麵包師
bakery n.麵包店
balance n.平衡,天平,餘額
balcony n.陽臺
bald adj.禿的
ball n.球,球狀物,舞會
ballet n.芭蕾舞
balloon n.氣球
ballooning n.熱氣球飛行運動
ball-point pen;n.圓珠筆
ballroom n.舞廳
bamboo n.竹
bamboo-shoot n.竹筍
banana n.香蕉
band n.樂隊,帶子;v.聯合
bandage n.繃帶
bandit n.盜匪,歹徒
bang n.,v.砰的一響
bank n.岸,銀行
banker n.銀行家
banking n.銀行業務、金融業
bankrupt n.,v.,adj.破產
banner n.旗幟,橫幅
banquet n.宴會
bar n.棒,杆,酒吧
barber n.理髮師
bare adj.裸的,直率的
barely adv.赤裸裸地
bargain n.交易,便宜貨
barge n.駁船
bark n.狗吠,樹皮;v.吠
barn n.穀倉,牲口棚
barometer n.晴雨表,標記
baron n.男爵
baroness n.男爵夫人,女男爵
barrel n.桶,槍(炮)管
barren adj.不育的,貧瘠的
barrier n.障礙,壁壘
barter n.易貨貿易
base n.基礎,基地;v.基於
baseball n.棒球
basement n.地下室,地窖
basic adj.基本的,基礎的
basically adv.基本上,主要地
basin n.盆,盆地
basis n.基礎,根據
basket n.籃子,筐
basketball n.籃球
bat n.球拍,蝙蝠;v.擊打
bath n.洗澡,浴室
bathe v.洗澡,沖洗
bathroom n.浴室,洗手間
batter v.打擊
battery n.電池
battle n.戰鬥,戰役
bay n.海灣,灣
bazaar n.集市
be v.是,存在
beach n.海灘,湖濱
bead n.有孔小珠
beak n.鳥嘴
beam n.樑,射線;v.發光
bean n.豆子
bear v.負擔,忍受,生育
bearing n.舉止,意義,軸承
bearish adj.熊市的
beast n.野獸,牲畜
beat v.打,擊敗;n.擊打
beautiful adj.美麗的,絕妙的
beauty n.美,美女
because conj.因為,由於
become v.變成
bed n.床,河床,苗圃
bedroom n.臥室
bee n.蜜蜂
beef n.牛肉
beer n.啤酒
beetle n.甲蟲
before prep.在...前面
beforehand adv.事先,預先
beg v.乞討,懇求
beggar n.乞丐
begin v.開始,著手進行
beginner n.初學者
beginning n.開端,起點
behalf n.代表
behave v.行為,舉動
behavior n.行為,舉止
behind prep.在...後面
behindhand adj.落後,事後
being n.生物,存在
belief n.信仰,信心
believe v.相信,認為
bell n.鍾,鈴
belly n.肚子
belong v.屬於
beloved adj.敬愛的;n.愛人
below adj.,prep.在...下面
belt n.帶,腰帶
bench n.長凳,工作臺
bend v.彎曲,俯身;n.拐彎
beneath prep.在...之下
beneficial adj.有益的,有利的
beneficiary n.受益者
benefit n.益處,利益
benevolence n.慈悲,捐助
benevolent adj.樂善好施的
bent adj.彎曲的
berry n.漿果
beside prep.在...之旁
besides adj.而且;prep...之外
best adj.最好的
bestow v.贈給,授予
best-seller n.暢銷書(貨)
best-selling adj.暢銷的
bet n.,v.打賭
betray v.背叛,洩露
betrayal n.背叛,暴露
better adj.更好的;adv.較好
better-off adj.經濟情況較好的
between prep.在兩者之間
beverage n.飲料
beware v.當心
bewilder v.迷惑,茫然
beyond prep.在...那邊,超出
bias n.偏好
bible n.聖經
bicycle n.自行車
bid n.,v.報價,投標
bidding n.投標
big adj.大的,重大的
bike n.自行車
bill n.帳單,議案,鈔票
billion n.十億
bind v.捆綁,約束
binding n.裝訂
biographer n.傳記記者
biography n.傳記
biologist n.生物學家
biology n.生物學
bird n.鳥
birth n.出生,創始
birthday n.生日,誕辰
birthplace n.出生地
biscuit n.餅乾
bishop n.主教
bit n.小片,一點
bite n.,v.咬,叮;n.一口
bitter adj.苦的,痛苦的
bitterly adv.慘痛地,辛酸地
bitterness n.苦味,苦難
black adj.黑的;n.黑色
blackboard n.黑板
blacksmith n.鐵匠
blade n.刀刃,葉片
blame v.責備;n.過失
blank adj.空白的;n.空格
blanket n.毛毯
blast n.陣風;v.爆炸
blaze n.火光,光亮
bleach v.漂白,變白
bleed v.出血,流血
blend v.混合,摻混
bless v.保佑,祝福
blessing n.祝福
blind adj.瞎的;v.使失明
blink adj.眨眼,閃爍
block n.大塊,街區,障礙物
blockage n.封鎖
blond adj.金髮的
blood n.血,血統
bloody adj.流血的,殘忍的
bloom n.花;v.開花
blossom n.(果樹的)花
blot n.汙跡
blouse n.女衫
blow v.吹,吹掉,颳風
blue adj.藍色的,憂鬱的
blunder n.大錯
blunt adj.鈍的,生硬的
blush v.臉紅,害臊
blushy adj.害羞的
board n.木板,伙食,董事會
boarding n.伙食
boast v.誇口,以...而自豪
boat n.小船,艇
body n.身體,屍體,團體
bodyguard n.保鏢
boil v.沸騰,煮沸
boiler n.鍋爐
boiling adj.沸騰的
bold adj.大膽的
boldness n.膽略
bolt n.螺檢,插銷;v.閂門
bomb n.炸彈;v.轟炸
bomber n.轟炸機
bonafide adj.真誠的,無欺的
bond n.束縛,聯結,債券
bonded adj.保稅的
bone n.骨,骨骼
bonus n.紅利
bony adj.骨頭的
book n.書;v.預訂(票)
bookcase n.書櫥
booking adj.定貨
booklet n.小冊子
bookshelf n.書架
bookstore n.書店
boom v.隆隆響,興旺,繁榮
booming adj.興旺的,繁榮的
boost v.擡高,促進
boot n.靴子
booth n.貨攤,電話亭
border n.國界,邊境
bore v.煩擾,使厭煩,鑽孔
boring adj.討厭的
born adj.出生的,天生的
borrow v.借,借用
borrowings n.借款
bosom n.胸,胸懷
boss n.上司,老闆
bossy adj.好發號施令的
both pron.,adj.雙方,兩
bother v.打擾,麻煩;n.麻煩
bottle n.瓶子
bottle-neck n.影響...的環節
bottom n.底部,末尾
bottom-line n.末行數字,結果
bough n.大樹枝
bounce v.跳起;n.跳躍
bound v.縛,以...為界
boundary n.界線,邊界
bourgeois n.資產階級分子
bow v.鞠躬,服從;n.弓
bowl n.碗,鉢
bowling n.保齡球
box n.箱,盒;v.拳擊
boxer n.拳擊運動員
boxing n.拳擊
boxing-day n.節禮日
boy n.男孩,小夥子
boycott v.,n.抵制
brace n.支撐;v.激勵
bracket n.括號
brag v.吹噓,誇口
brain n.腦子,頭腦,智慧
brake n.制動器;v.剎車
brake n.v.剎車
branch n.樹枝,分支,分部
brand n.牌子,商標
brandy n.白蘭地
brass n.黃銅
brave adj.勇敢的;v.冒著
bravely adv.勇敢地
bravery n.勇敢
brazil n.巴西
brazilian adj.,n.巴西的(人)
breach n.違反(契約)
bread n.麵包,生計
bread-earner n.掙錢養家的人
breadth n.寬度,大量
break n.打破,破壞;n.裂口
breakage n.裂口
breakdown n.故障,衰竭
breakfast n.早飯
breakthrough n.突破
breast n.乳房,胸脯
breath n.呼吸,氣息
breathe v.呼吸
breed v.繁殖,飼養;n.品種
breeze n.微風
bribe v.賄賂
bribery v.賄賂
brick n.磚
bride n.新娘
bridegroom n.新郎
bridge n.橋樑,橋牌
bridle n.約束;v.抑制
brief adj.簡短的
briefing n.簡要情況
briefly adv.簡單地,簡短地
bright adj.明亮的,鮮明的
brighten v.使發光
brightness n.光輝,明亮
brilliance n.輝煌,光彩
brilliant v.輝煌的,傑出的
brim n.邊,邊緣
bring v.拿來,帶來
brink n.邊緣
brisk adj.敏捷的,活躍的
bristle n.鬃毛
britain n.不列顛,英國
british adj.英國的,英屬的
brittle adj.易碎的,脆的
broad adj.寬的,遼闊的
broadcast v.,n.廣播
broadcasting n.廣播節目
broaden v.加寬,擴大
brochure n.產品介紹手冊
broken adj.破碎的,毀壞了的
broker n.經紀人
bronze n.青銅
brood n.一窩
brook n.小河,溪流
broom n.掃帚
brother n.兄弟,同胞
brotherhood n.兄弟情誼
brother-in-law n.姻兄(弟)
brow n.眉毛,額
brown n.,adj.褐色(的)
bruise n.青腫;v.打傷
brush n.刷子,畫筆;v.刷
brutal adj.野蠻的
brute n.禽獸,畜生
bubble n.氣泡
bucket n.水桶
bud n.芽,蓓蕾
buddhism n.佛教
buddhist n.佛教徒
budget n.預算
buffalo n.水牛,野牛
buffet n.冷餐
bug n.臭蟲,蟲子
bugle n.喇叭
build v.建造,建設
builder n.建築工人,建設者
building n.建築物,大樓
bulb n.球形物,燈泡
bulk n.體積,大半
bulky adj.龐大的,笨重的
bull n.公牛
bullet n.子彈
bulletin n.公報
bullion n.金塊,金條
bullish adj.行情看漲的
bump v.碰,顛簸;n.碰撞
bumpy adj.顛簸不平的
bunch n.一束
bundle n.,v.捆,包
burden n.擔子,負擔
burdensome adj.沉重的
bureau n.局,司,辦公室
bureaucracy n.官僚主義
bureaucratic adj.官僚主義的
burglar n.夜盜,竊賊
burglary n.盜竊
burial n.埋葬
burn v.燒,燃燒,燒傷
burner n.噴燈
burnt adj.燒焦的,燒壞的
burst v.,n.爆炸,破裂
bury v.掩埋,安葬
bus n.公共汽車
bush n.灌木
bushel n.蒲式耳(重量單位)
business n.行業,買賣,商號
businesslike adj.事務式的
busy adj.忙碌的,熱鬧的
but prep.但是,除了
butcher n.屠夫;v.屠宰
butchery n.肉食店
butt n.根端;v.頂撞
butter n.黃油
butterfly n.蝴蝶
button n.鈕釦,按鈕
buy v.買,購買
buyer n.購買者
buzz v.嗡嗡叫;n.嗡嗡聲
by prep.在...旁邊,按照
bygone n.已往的,過時的
bypass n.旁道,分路
by-product n.副產品

  


http://blog.csdn.net/sxhelijian/article/details/11890759



【專案1-折騰二維陣列】建立一個長度為5行4列的二維整型陣列,通過初始化,為陣列中的前兩列的10個元素賦初值,然後通過鍵盤輸入,使後兩列的10個元素獲得值,將所有元素值乘以3後儲存在陣列中。輸出陣列時,按行序優先輸出,再按列序優先輸出(輸出的第一行是陣列中的第一列……,其實輸出的就是“轉置”),再將陣列“倒”著輸出(即最後一行最後一列的最先輸出,第0行第0列的最後輸出),再輸出陣列中的所有偶數,以及行列下標之和為3的倍數的元素值。
     提示:程式設計時,可以做一點,調一點,全寫好再改會自討苦吃。

  同時也給出參考的執行介面:

  
     報告模板及部分程式碼

/** 程式的版權和版本宣告部分* Copyright (c)2012, 煙臺大學計算機學院學生* All rightsreserved.* 檔名稱: array.cpp      &