第1章 C語言基礎(chǔ)知識
創(chuàng)新互聯(lián)建站成立于2013年,先為南京等服務(wù)建站,南京等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為南京企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1.1 C語言概述
1.1.1 C程序的結(jié)構(gòu)
1.1.2 C程序的上機(jī)步拍搜驟
1.2 C語言的基本數(shù)據(jù)類型
1.2.1 標(biāo)識符
1.2.2 常量
1.2.3 變量
1.3 基本輸入/輸出函數(shù)
1.3.1 格式化輸出函數(shù)
1.3.2 格式化輸入函數(shù)
1.3.3 字符輸入/輸出函數(shù)
1.4 運(yùn)算符和表達(dá)式
1.4.1 算術(shù)運(yùn)算符與算術(shù)表達(dá)式
1.4.2 賦值運(yùn)算符與賦值表達(dá)式
1.4.3 逗號運(yùn)算符與逗號表達(dá)式
1.4.4 簡單的位運(yùn)算與位表達(dá)式
1.4.5 運(yùn)算符的優(yōu)先級
1.5 類型轉(zhuǎn)換
1.5.1 隱式類型轉(zhuǎn)換
1.5.2 顯式類型轉(zhuǎn)換
1.6 C程序展示
本章小結(jié)
習(xí)題
第2章 算法
2.1 算法的概念
2.2 利用計算機(jī)求解問題的一般過程
2.3 算法的描述
2.3.1 用自然語言描述算法
2.3.2 用流程圖描述算法
2.3.3 用N-S流程圖描述算法
2.3.4 用偽代碼描述算法
2.3.5 用計算機(jī)語言描述算法
2.4 算法舉例
本章小結(jié)
習(xí)題
第3章 C程序的控制結(jié)構(gòu)
3.1 分支結(jié)構(gòu)
3.1.1 關(guān)系表達(dá)式和邏輯表達(dá)式
3.1.2 if語句
3.1.3 條件表達(dá)式
3.1.4 switch語句
3.2 循環(huán)結(jié)構(gòu)
3.2.1 while語句
3.2.2 do…while語句
3.2.3 for語句
3.2.4 break語句和continue語句
3.2.5 循環(huán)的嵌套
3.3 綜合應(yīng)用
本章小結(jié)
習(xí)題
第4章 數(shù)組與指針
4.1 數(shù)組
4.1.1 一維數(shù)組
4.1.2 二維數(shù)組
4.1.3 字符數(shù)組
4.2 指針
4.2.1 指針變量的定義與相關(guān)運(yùn)算
4.2.2 指針與一維數(shù)組
4.2.3 指針與二維數(shù)組
4.2.4 指針數(shù)組
4.2.5 指針與字符串
4.3 動態(tài)內(nèi)存分哪纖配
4.4 數(shù)組與指針綜合應(yīng)用
4.4.1 單詞統(tǒng)計
4.4.2 排序
4.4.3 查找
4.4.4 進(jìn)制轉(zhuǎn)換
4.4.5 二維數(shù)組應(yīng)用
本章襲緩歷小結(jié)
習(xí)題
第5章 函數(shù)
5.1 函數(shù)概述
5.1.1 函數(shù)的定義
5.1.2 函數(shù)的聲明和調(diào)用
5.2 函數(shù)參數(shù)的傳遞方式
5.2.1 值傳遞方式
5.2.2 地址傳遞方式
5.3 函數(shù)的嵌套與遞歸
5.3.1 函數(shù)的嵌套調(diào)用
5.3.2 函數(shù)的遞歸調(diào)用
5.4 變量的作用域與存儲類型
5.4.1 變量的作用域
5.4.2 變量的存儲類型
5.5 內(nèi)部函數(shù)和外部函數(shù)
5.5.1 內(nèi)部函數(shù)
5.5.2 外部函數(shù)
5.6 編譯預(yù)處理
5.6.1 宏定義
5.6.2 文件包含
5.6.3 條件編譯
5.7 標(biāo)準(zhǔn)函數(shù)簡介
5.7.1 字符串處理函數(shù)
5.7.2 字符處理函數(shù)
5.7.3 動態(tài)地址分配函數(shù)
5.7.4 數(shù)學(xué)函數(shù)
5.7.5 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)
5.7.6 其他函數(shù)
5.8 函數(shù)綜合應(yīng)用案例
5.8.1 字符串處理函數(shù)應(yīng)用
5.8.2 函數(shù)指針應(yīng)用
5.8.3 遞歸算法應(yīng)用
本章小結(jié)
習(xí)題
第6章 結(jié)構(gòu)體與共用體
6.1 結(jié)構(gòu)體類型
6.1.1 結(jié)構(gòu)體類型的定義和使用
6.1.2 指向結(jié)構(gòu)體類型數(shù)據(jù)的指針
6.2 共用體與枚舉類型
6.2.1 共用體
6.2.2 枚舉類型
6.3 鏈表
6.4 結(jié)構(gòu)體綜合應(yīng)用
6.4.1 學(xué)生成績查詢
6.4.2 個人通訊錄
本章小結(jié)
習(xí)題
第7章 文件操作
7.1 文件概述
7.1.1 文件的概念
7.1.2 文件類型指針
7.1.3 文件的操作
7.2 文件的打開和關(guān)閉
7.2.1 文件打開函數(shù)
7.2.2 文件關(guān)閉函數(shù)
7.3 文件的順序讀/寫
7.3.1 字符讀/寫函數(shù)
7.3.2 字符串讀/寫函數(shù)
7.3.3 格式化讀/寫函數(shù)
7.3.4 二進(jìn)制文件讀/寫函數(shù)
7.4 文件的隨機(jī)讀/寫
7.5 文件狀態(tài)檢查函數(shù)
7.5.1 文件讀/寫結(jié)束檢查函數(shù)
7.5.2 文件出錯檢查函數(shù)
7.5.3 文件出錯復(fù)位函數(shù)
本章小結(jié)
習(xí)題
第8章 C語言課程設(shè)計
8.1 C語言課程設(shè)計實施方案
8.2 C語言課程設(shè)計任務(wù)書1
8.3 C語言課程設(shè)計任務(wù)書2
8.4 C語言課程設(shè)計任務(wù)書3
8.5 C語言課程設(shè)計任務(wù)書4
8.6 C語言課程設(shè)計任務(wù)書5
附錄A 常用字符與ASCII(十進(jìn)制)對照表
附錄B C語言課程設(shè)計模板
參考文獻(xiàn)
不知道你說的是不是這一次實驗
2.2.7??實驗7:二維數(shù)組和函數(shù)綜合編程練習(xí)
成績排名次
某班期末考試科目為數(shù)學(xué)(MT)、英語(EN)和物理(PH),有最多不超過30人參加考試。考試后要求:
(1)計算每個學(xué)生的總分和平均分;
(2)按總分成績由高到低排出成績的名次;
(3)打印出名次表,表格內(nèi)包括學(xué)生編號、各科分?jǐn)?shù)、總分和平均分;
(4)任意輸入一個學(xué)號,能夠查找出該學(xué)生在寬顫班級中的排名及其考試分?jǐn)?shù)。
【思考題】??請讀者思考如下問題。
①?如果增加一個要求:要求按照學(xué)生的學(xué)號由小到大對學(xué)號、成績等信息進(jìn)行舉巧銷排序,那么程序如何修改呢?
②?如果要求程序運(yùn)行后先打印出一個菜單,提示用戶選擇:成績錄入、成績排序、成績查找,在選擇某項功能后執(zhí)行相應(yīng)的操作,那么程序如何修改呢?
答案
#include ?stdio.h
#define STU 30
#define COURSE 3
void Input(long num[],int score[][COURSE],int n);
void GetSumAver(int score[][COURSE],int n,int sum[],float aver[]);
void Sort(long num[],int score[][COURSE],int n,int sum[],float aver[]);
void Print(long num[],int score[][COURSE],int n,int sum[],float aver[]);
int ?Search(long num[], int n, long x);
main()
{
int n, score[STU][COURSE], sum[STU], pos;
long num[STU], x;
float aver[STU];
printf("Please enter the total number of the students(n=30):");
scanf("%d", n); /*輸入?yún)⒓涌荚嚨膶W(xué)生人數(shù)*/
printf("Enter No. and score as: MT ?EN ?PH\n");
Input(num, score, n); /*輸入學(xué)生成績*/
GetSumAver(score, n, sum, aver); /*計算總分和平均分*/
printf("Before sort:\n");
Print(num, score, n, sum, aver);
Sort(num, score, n, sum, aver); /*排名次*/
printf("After sort:\n");
Print(num, score, n, sum, aver);
printf("Please enter searching number:");
scanf("%ld", x); /*以長整型格式輸入待查找學(xué)生的學(xué)號*/
pos = Search(num, n, x); /*名次查詢*/
if (pos != -1)
{
printf("position:\t ?NO \t ?MT \t ?EN \t ?PH \t ?SUM \t AVER\n");
printf("%8d\t%4ld\t%4d\t%4d\t%4d\t%5d\t%5.0f\n",
? ? pos+1,num[pos], score[pos][0],score[pos][1],
? ? score[pos][2], sum[pos],aver[pos]);
}
else
{
printf("Not found!\n");
}
}
/* 函數(shù)功能:輸入某班學(xué)生期末考試三門課程成績
函正游數(shù)參數(shù):長整型數(shù)組num,存放學(xué)生學(xué)號
? ? ? ?整型數(shù)組score,存放學(xué)生成績
? ?整型變量n,存放學(xué)生人數(shù)
函數(shù)返回值:無
*/
void Input(long num[], int score[][COURSE], int n)
{
int ?i, j;
for (i=0; in; i++)
{
scanf("%ld", num[i]);
for (j=0; jCOURSE; j++)
{
scanf("%d", score[i][j]);
}
}
}
/* 函數(shù)功能:計算每個學(xué)生的總分和平均分
函數(shù)參數(shù): 整型數(shù)組score,存放學(xué)生成績
? ? 整型變量n,存放學(xué)生人數(shù)
整型數(shù)組sum,計算得到的每個學(xué)生的總分
實型數(shù)組aver,計算得到的每個學(xué)生的平均分
函數(shù)返回值:無
*/
void GetSumAver(int score[][COURSE], int n, int sum[], float aver[])
{
int i, j;
for (i=0; in; i++)
{
sum[i] = 0;
for (j=0; jCOURSE; j++)
{
sum[i] = sum[i] + score[i][j];
}
aver[i] = (float)sum[i] / COURSE;
}
}
/* 函數(shù)功能:按總分成績由高到低排出成績的名次
函數(shù)參數(shù):長整型數(shù)組num,存放學(xué)生學(xué)號
? ? ? ?整型數(shù)組score,存放學(xué)生成績
整型變量n,存放學(xué)生人數(shù)
整型數(shù)組sum,存放每個學(xué)生的總分
實型數(shù)組aver,存放每個學(xué)生的平均分
函數(shù)返回值:無
*/
void Sort(long num[],int score[][COURSE], int n, int sum[], float aver[])
{
int i, j, k, m;
int temp1;
long temp2;
float temp3;
for (i=0; in-1; i++)
{
k = i;
for (j=i+1; jn; j++)
{
if (sum[j] sum[k]) ?k = j;
}
if (k != i)
{
temp1 = sum[k]; ?sum[k] = sum[i]; ?sum[i] = temp1;
temp2 = num[k]; ?num[k] = num[i]; ?num[i] = temp2;
temp3 = aver[k]; ?aver[k] = aver[i]; ?aver[i] = temp3;
for (m=0; mCOURSE; m++)
{
temp1 = score[k][m];
score[k][m] = score[i][m];
score[i][m] = temp1;
}
}
}
}
/* 函數(shù)功能: 打印名次表,表格內(nèi)包括學(xué)生編號、各科分?jǐn)?shù)、總分和平均分
函數(shù)參數(shù): 長整型數(shù)組num,存放學(xué)生學(xué)號
整型數(shù)組score,存放學(xué)生成績
整型變量n,存放學(xué)生人數(shù)
整型數(shù)組sum,存放每個學(xué)生的總分
實型數(shù)組aver,存放每個學(xué)生的平均分
函數(shù)返回值:無
*/
void Print(long num[], int score[][COURSE], int n,
int sum[], float aver[])
{
int ?i, j;
printf(" ?NO \t| ? MT \t ?EN \t PH \t SUM \t AVER\n");
printf("----------------------------------------------------\n");
for (i=0; in; i++)
{
printf("%ld\t| ", num[i]);
for (j=0; jCOURSE; j++)
{
printf("%4d\t", score[i][j]);
}
printf("%5d\t%5.0f\n", sum[i], aver[i]);
}
}
/* 函數(shù)功能:在學(xué)號數(shù)組中順序查找學(xué)生的學(xué)號
函數(shù)參數(shù):長整型數(shù)組num,存放學(xué)生學(xué)號
? ? ? ?整型變量n,存放學(xué)生人數(shù)
長整型變量x,存放待查找學(xué)生的學(xué)號
函數(shù)返回值:找到時,返回學(xué)生學(xué)號在學(xué)號數(shù)組中的下標(biāo)位置,否則返回值-1
*/
int Search(long num[], int n, long x)
{
int ?i;
for (i=0; in; i++)
{
if (num[i] == x) ?return(i);
}
return (-1);
}
C語言學(xué)習(xí)從入門到精通的一套經(jīng)典視頻教程,本課程通過高清晰的視頻、概念詳解、實例精講、習(xí)題測試讓你很快的掌握C語言的相關(guān)知識,并領(lǐng)略運(yùn)用到實例中去。在針對一些用戶認(rèn)為C語言比較難學(xué)的情況下,本課程從初中級用戶的角度出發(fā),進(jìn)行合理的內(nèi)容安排,突出學(xué)、練、用、鞏固相結(jié)合的特點,以通俗易懂的語言,豐富多彩的實例,詳細(xì)介紹了使用C語言進(jìn)行程序開發(fā)應(yīng)該掌握的各方面知識。本課程主要給大家講解了C語言概述,算法,數(shù)據(jù)類型,運(yùn)算符與表達(dá)式,常用的數(shù)據(jù)輸入、輸出函數(shù),選擇結(jié)構(gòu)程序設(shè)計,循環(huán)控制,數(shù)組,函數(shù),指針,結(jié)構(gòu)體和共用體,位運(yùn)算,預(yù)處理,模塊化編程,編程規(guī)范,C語言常見問題及分析,習(xí)題測試等內(nèi)容。所有知識都結(jié)合具體實例進(jìn)行介紹,涉及的程序代碼給出了詳細(xì)的講解,可以使讀者輕松領(lǐng)會C語言程序開發(fā)的精髓,快速提高開發(fā)技能。
課程內(nèi)容詳盡,實例豐富,非常適合作為單片機(jī)及編程初學(xué)者的學(xué)習(xí)課程,也可作為大中院校相關(guān)專業(yè)在校學(xué)生及畢業(yè)生的教學(xué)輔導(dǎo)課程、短期C語言培訓(xùn)課程,是C語言編程愛好者從入門到深入的經(jīng)典課程。
課程共分為15講,每節(jié)課的內(nèi)容大綱如下:
第1課 C語言概述
1、幾種常見的程序設(shè)計語言
2、C語言出現(xiàn)的歷史背景
3、C語言的特點
4、簡單的C程序介紹
5、C程序的上機(jī)步驟
6、習(xí)題測試
第2課 程序的靈魂-算法
1、程序設(shè)計過程
2、算法的基本概念
3、算法的特征
4、算法的表示方法(流程圖)
5、結(jié)構(gòu)化程序設(shè)計方法
6、習(xí)題測試
第3課 C語言的數(shù)據(jù)類型
1、預(yù)備知識
2、C語言的數(shù)據(jù)類型
3、常量與變量
4、不同數(shù)據(jù)類型之間的轉(zhuǎn)換
5、運(yùn)算符號和表達(dá)
6、習(xí)題測試
第4課 C語言順序程序設(shè)計
1、C語句概述
2、賦值語句
3、數(shù)據(jù)的輸入輸出
4、字符數(shù)據(jù)耐歲蘆輸入輸出
5、格式輸入輸出
6、順序程序舉例
7、習(xí)題測試
第5課 C語言選擇程序設(shè)計
1、關(guān)系運(yùn)算符和關(guān)系表達(dá)式
2、邏輯運(yùn)算符和邏輯表達(dá)式
3、if 語句---條件判斷
4、條件運(yùn)算符
5、switch 語句
6、選擇程序舉例
7、習(xí)題測試
第6課 C語言的循環(huán)控制
1、概述
2、goto語句及與if語句構(gòu)成循環(huán)
3、while語句
4、do …while語句
5、for語句
6、循環(huán)的嵌套
7、幾種循環(huán)的比較
8、break語句和contiune語句
9、程序舉例
10、習(xí)題測試
第7課 C語言數(shù)組
1、一維數(shù)組
2、二維數(shù)組及多維數(shù)組
3、字符數(shù)組和字符串
4、程序舉例
5、習(xí)題測試
第8課 函數(shù)
1、概述
2、函數(shù)定義的一般格式
3、函數(shù)的返回值
4、函數(shù)的調(diào)用
5、函數(shù)參數(shù)及其傳遞方式
6、函昌帶數(shù)的嵌套與遞歸調(diào)用
7、數(shù)組作為函數(shù)參數(shù)
8、變量的存儲屬性
9、內(nèi)部函數(shù)和外部函數(shù)
10、習(xí)題測試
第9課 C語言預(yù)處理命令
1、編譯預(yù)處理
2、宏定義
3、文件包含
4、條件編譯
5、習(xí)題測試
第10課 指針
1、指針的概念
2、指針變量
3、指針與數(shù)組
4、指針與字符串
5、指針與函數(shù)
6、返回指針值的函數(shù)
7、指針數(shù)組和多級指針
8、習(xí)題測試
第11課 結(jié)構(gòu)體與共用體
1、結(jié)構(gòu)類型與結(jié)構(gòu)變量的定義
2、結(jié)構(gòu)變量的引用與初始化
5、結(jié)構(gòu)數(shù)組
6、指向結(jié)構(gòu)類型數(shù)據(jù)的指針
7、用指針處理鏈表
8、共用體
9、枚舉類型
10、用typedef定義別名
11、程序舉例
12、習(xí)題測試
第12課 位運(yùn)算
1、位運(yùn)算概述
2、位運(yùn)算符的使用方法
3、習(xí)題測試
第13課 單片機(jī)C語言的模塊化編程
1、模塊化編程的優(yōu)點
2、C語雀陸言源文件(*.c)文件和頭文件(*.h)的的作用
3、模塊化編程設(shè)計步驟
4、程序?qū)嵗?/p>
5、模塊化程序的移植
6、習(xí)題測試
第14課 C語言編程規(guī)范
1、編碼規(guī)范概述
2、編程排版規(guī)范
3、編程注釋規(guī)范
4、命名規(guī)則
5、可讀性規(guī)范
6、變量與結(jié)構(gòu)規(guī)范
7、函數(shù)與過程規(guī)范
8、編程效率規(guī)范
9、質(zhì)量保證規(guī)范
10、宏規(guī)范
11、代碼編輯
12、編譯
13、審查
14、代碼測試
15、維護(hù)
16、習(xí)題測試
第15課 C語言編程常見出錯問題及分析
1、C語言的一些基本概念
2、位(bit)和字節(jié)(byte)
3、變量和數(shù)據(jù)存儲
4、數(shù)據(jù)文件
5、字符串操作
6、數(shù)組
7、指針和內(nèi)存分配
8、函數(shù)
9、編譯預(yù)處理
10、標(biāo)準(zhǔn)庫函數(shù)
11、系統(tǒng)調(diào)用
12、可移植性
13、編程風(fēng)格和標(biāo)準(zhǔn)
14、程序的編寫和編譯
15、調(diào)試
對平面魔方的構(gòu)造,分為三種情況:N為奇數(shù)、N為4的倍數(shù)、N為其它偶數(shù)(4n+2的形式)
⑴ N 為奇數(shù)時,最簡單
(1) 將1放在第一行中間一列;
(2) 從2開始直到n×n止各數(shù)依次按下列規(guī)則存放:
按 45°方向行走,如向右上
每一個數(shù)存放的行比前一個數(shù)的行數(shù)減1,列數(shù)加1
(3) 如果行列范圍超出矩陣范圍,則回繞。
例如1在第1行,則2應(yīng)放在最下一行,列數(shù)同樣加1;
(4) 如果按上面規(guī)則確定的位置上已有數(shù),或上一個數(shù)是第1行第n列時,
則把孫漏信下一個數(shù)放在上一個數(shù)的下面。
⑵ N為4的倍數(shù)時
采用對稱元素交換法。
首先把數(shù)1到n×n按從上至下,從左到右順序填入矩陣
然后將方陣的所有4×4子方陣中的兩對角線上位置的數(shù)關(guān)于方陣中心作對
稱交換,即a(i,j)與a(n+1-i,n+1-j)交換,所有其它位置上的數(shù)不變。
(或者將對角線不變,其它位置對稱交換也可)
⑶ N 為其它偶數(shù)時
當(dāng)n為非4倍數(shù)的偶數(shù)(即4n+2形)時:首先把大方陣分解為4個奇數(shù)(2m+1階)子方陣。
按上述奇數(shù)階魔方給分解的4個子方陣對應(yīng)賦值
上左子陣最小(i),下右子陣次小(i+v),下左子陣最大(i+3v),上右子陣次大(i+2v)
即4個子方陣對應(yīng)元素相差v,其中v=n*n/4
四個子矩陣由小到大排列方式為 ① ③
④ ②
然后作相應(yīng)的元素交換:a(i,j)與a(i+u,j)在同一列做對應(yīng)交換(jt或jn-t+2),
a(t-1,0)與a(t+u-1,0);a(t-1,t-1)與a(t+u-1,t-1)兩對元素交換
其中u=n/2,t=(n+2)/4 上述交換使每行每列與兩對角線上元素之和相等。
snjsj 我的程序算法:
這個魔方陣的算法可以對除2以外的任意階數(shù)的方陣進(jìn)行輸出,結(jié)果保存在運(yùn)行程序的目則輪錄下面的搜謹(jǐn)Magic.txt文件中,用ie或者寫字板打開以保持格式的一致(主要是回車符在記事本中為黑方框,認(rèn)不出來)。當(dāng)然具體的程序中,有內(nèi)存空間以及變量范圍的約束,我試過了,100以內(nèi)的是可以的。
偶數(shù)階的算法都是建立在奇數(shù)階的基礎(chǔ)之上,設(shè)方陣的階數(shù)為n,則魔方陣常數(shù)(即每列每行以及對角線元素之和)為n*(n*n+1)/2。
請對照程序代碼看,否則可能看不懂,可以一邊看一邊用筆對小階的進(jìn)行演算。
先說奇數(shù)階的算法,這是最容易的算法:
n=2*m+1,m為自然數(shù)
1)將數(shù)字1填在(0,(n+1)/2) ;要注意c中是從下標(biāo)0開始
2)從左上往右下依次填。
3)由2),列的下標(biāo)出界(超過n-1)時,行加1,以n為摸的余數(shù)為應(yīng)填的列數(shù);
4)由2),行的下標(biāo)出界(超過n-1)時,列加1,以n為摸的余數(shù)為應(yīng)填的行數(shù);
5)由2),行列都未出界,但已添上其他數(shù),應(yīng)在當(dāng)前位置左橫移一個位置進(jìn)行填數(shù)。
然后是偶數(shù)階:
分兩種情況,一種是n%4==2,一種是n%4==0
前一種:n=2*(2*m+1),m為自然數(shù)
1)將n階方陣分為四個小魔方陣ABCD如下排列:
B C
D A
因為n*n=4*(2*m+1)*(2*m+1),
記u=n/2=2*m+1,分為1~u*u,u*u+1~2*u*u,2*u*u+1~3*u*u,3*u*u+1~4*u*u
即在調(diào)用子函數(shù)的時候分別如下面?zhèn)鬟f參數(shù):
A(0),B(u*u),C(2*u*u),D(3*u*u)
分別在ABCD中按照前面的填法把奇數(shù)階填好(注意加上所傳參數(shù)作為基數(shù),每一個元素都要加上這個值),最后做如下交換:
(1)B中第0~(m-1)-1行中元素與C中相對應(yīng)元素交換
(2)D中第(n-1)-m+1~(n-1)共m行的每行中的元素與A中相對應(yīng)元素交換
(3)交換D:(u+m,m)與A中對應(yīng)元素(矩陣中心值)
(4)交換D:(n-1,m)與A中對應(yīng)元素(實際為矩陣最大值n*n)
所謂對應(yīng)位置,指相對于小魔方陣的左頂角的相對的行列位置
上面的這些你可以用數(shù)學(xué)進(jìn)行證明,利用魔方陣常數(shù)(注意n階的和u階的關(guān)系)
后一種:n=4*m,m為自然數(shù)
因為行列都是4的倍數(shù),因而可以將整個矩陣分為每4*4的小矩陣。
先判斷一個數(shù)是否在劃為4*4小矩陣的對角線上,
如果在,則填該位置的數(shù)為n*n-i+1(i為該元素的相對位置,從1開始,比如n階的第s行第t個元素則其i=s*n+t)
如果不在,則填上i。
網(wǎng)頁題目:第7章函數(shù)c語言 c語言函數(shù)詳解
本文鏈接:http://vcdvsql.cn/article4/ddpisie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、云服務(wù)器、響應(yīng)式網(wǎng)站、面包屑導(dǎo)航、搜索引擎優(yōu)化、商城網(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)