※※※大家好!我是同學(xué)〖森〗,一名計算機(jī)愛好者,今天讓我們進(jìn)入刷題模式。若有錯誤,請多多指教。👍?點贊???收藏?📝留言 都是我創(chuàng)作的大的動力!
為錦州等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及錦州網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、錦州網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
目錄
魔方陣(magic matrix)
題目描述:
問題分析:
程序源碼:
運行結(jié)果:
舉一反三:?
魔方陣,古代又稱“縱橫圖”,是指組成元素為自然數(shù)1、2、…、n的平方的n×n的方陣,其中每個元素值都不相等,且每行、每列以及主、副對角線上各n個元素之和都相等。
幻方,有時又稱魔方(該稱呼現(xiàn)一般指立方體的魔術(shù)方塊)或縱橫圖,由一組排放在正方形中的整數(shù)組成,其每行、每列以及兩條對角線上的數(shù)之和均相等。通?;梅接蓮?到N2的連續(xù)整數(shù)組成,其中N為正方形的行或列的數(shù)目。因此 N階幻方有N行N列,并且所填充的數(shù)為從1到N2。?[1]?
幻方可以使用N階方陣來表示,方陣的每行、每列以及兩條對角線的和都等于常數(shù)
,如果填充數(shù)為1,2,……,N^2。
,那么有
⒈何謂矩陣?矩陣就是由方程組的系數(shù)及常數(shù)所構(gòu)成的方陣。把用在解線性方程組上既方便,又直觀。
⒉何謂n階方陣?若一個矩陣是由n個橫列與n個縱行所構(gòu)成,共有n*n個小方格,則稱這個方陣是一個n階方陣。
⒊何謂魔方陣? 定義:由n*n個數(shù)字所組成的n階方陣,具有各對角線,各橫列與縱行的數(shù)字和都相等的性質(zhì),稱為魔方陣。而這個相等的和稱為魔術(shù)數(shù)字。若填入的數(shù)字是從1到n*n,稱此種魔方陣為n階正規(guī)魔方陣。
⒋最早的魔方陣相傳古時為了幫助治水專家大禹統(tǒng)治天下,由水中浮出兩只龐大動物背上各負(fù)有一圖,只有大禹才可指揮其中之由龍馬負(fù)出的為河圖,出自黃河;另一由理龜負(fù)出的洛書出自洛河。
⒌最早的四階魔方陣相傳是刻在印度一所廟宇石上,年代大約是十一世紀(jì)。古代印度人十分崇拜這種幻方,至今從古神殿的遺址,墓碑上常常還可以發(fā)現(xiàn)四階幻方的遺跡。
⒍歐洲最早的魔方陣是公元1514年德國畫家Albrecht Dure在他著名的銅板畫Melencolia上的4×4幻方,有趣的是,他連創(chuàng)造年代(1514)也鑲在這個方陣中,而且上下左右,四個小方陣的和皆為34,是歐洲最古老的幻方。
題目描述:問題分析:打印5階幻方即它的每一行,每一列和對角線之和均相等。
(1)將1放在第一行中間一列。
(2)從2開始直到25各數(shù)依次按:
(3)每一個數(shù)存放的行比前一個數(shù)的行數(shù)減1,列數(shù)加1.
(4)如果上一個數(shù)的行數(shù)為1,則下一個數(shù)的行數(shù)為5,列數(shù)加1。
(5)當(dāng)上一個數(shù)的列數(shù)為5時,下一個數(shù)的列數(shù)應(yīng)為1,行數(shù)減1.
(6)如果按上面步驟確定的位置上已經(jīng)有數(shù)(本題中不為0),或者上一個數(shù)是第1行第5列時,則把下一個數(shù)放在上一個數(shù)的下面。
程序源碼:#include#includeint main()
{
system("COLOR FD"); //改變字體背景顏色
int i, j, a[6][6] = { 0 };
int x = 1, y = 3; //1的位置
for (i = 1; i<= 25; i++)
{
a[x][y] = i;
if (1 == x && 5 == y)
//上一個數(shù)是第一行第五列時,則把下一個數(shù)放在它的下面
{
x += 1;
continue; //結(jié)束本次循環(huán)
}
if (1 == x)
x = 5; //當(dāng)上一個數(shù)是第一行時,下一個數(shù)是第五行。
else
x--; //否則行數(shù)減一。
if (5 == y)
y = 1; //當(dāng)上一個數(shù)是第五列時,下一個數(shù)是第一列。
else
y++; //否則列數(shù)加一。
if (a[x][y] != 0) //判斷經(jīng)過上面步驟確定的位置是否有非零數(shù)。
{
x = x + 2; //條件為真行數(shù)加二,列數(shù)減一。
y = y - 1;
}
}
for (i = 1; i< 6; i++) //輸出二維數(shù)組
{
for (j = 1; j< 6; j++)
printf("%4d", a[i][j]);
printf("\n");
}
return 0;
}
運行結(jié)果:舉一反三:?在本程序的基礎(chǔ)上編程實現(xiàn)輸入n階幻方,n的值由用戶從鍵盤中輸入。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
本文題目:【C語言典例】——day3:設(shè)計魔方陣(數(shù)組)-創(chuàng)新互聯(lián)
文章來源:http://www.rwnh.cn/article4/copeie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站排名、全網(wǎng)營銷推廣、App開發(fā)、網(wǎng)站收錄、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容