




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、沈陽航空工業(yè)學(xué)院課程設(shè)計(jì)學(xué)號(hào) 2008040201105班級(jí) 84020103姓名李榮飛指導(dǎo)教師尹航2009年 9月 11日沈陽航空工業(yè)學(xué)院課程設(shè)計(jì)任務(wù)書電子信息工程學(xué)院 電子信息工程專業(yè)84020103班 學(xué)號(hào)2008040201105一、課程設(shè)計(jì)題目:用高斯列主元消元法解線性方程二、課程設(shè)計(jì)工作自2009年9月6日起至2009年9月11日止三、課程設(shè)計(jì)內(nèi)容:運(yùn)用所學(xué)的c語言知識(shí),編制和調(diào)試程序,具有如下功能: 請(qǐng)用高斯列主元消元法解下列方程組:2%j+2x2+5x33西+4x2+7x3%!+3x2+3x3r四、課程設(shè)計(jì)要求: 程序質(zhì)量: 貫徹結(jié)構(gòu)化程序設(shè)計(jì)思想。 用戶界面友好,功能明確,操
2、作方便;可以加以其它功能或修飾。 用戶界面中的菜單至少應(yīng)包括“輸入數(shù)據(jù)”、“開始計(jì)算”、“退 出” 3項(xiàng)。 代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。 課程設(shè)計(jì)說明書:課程結(jié)束后,上交課程設(shè)計(jì)說明書(打印稿和電子稿),其內(nèi)容如下: 封而 課程設(shè)計(jì)任務(wù)書 目錄 需求分析(分析題目的要求) 程序流程圖(總體流程圖和主要功能模塊流程圖) 核心技術(shù)的實(shí)現(xiàn)說明及相應(yīng)程序段 個(gè)人總結(jié) 參考資料 源程序及適當(dāng)?shù)淖⑨屩笇?dǎo)教師: 學(xué)生簽名:目錄一、需求分析1二、程序流程圖2三、核心技術(shù)的實(shí)現(xiàn)說明及相應(yīng)程序段8四、個(gè)人總結(jié)10五、參考文獻(xiàn)11六、源程序11一、需求分析經(jīng)過對(duì)程序設(shè)計(jì)題目的分析可知,整個(gè)
3、程序的設(shè)計(jì)實(shí)現(xiàn)大致分 為三個(gè)模塊,分別是:輸入方程組,計(jì)算方程組,繼續(xù)運(yùn)算/退岀。計(jì)算方程組模塊對(duì)應(yīng)三個(gè)函數(shù),其函數(shù)名和功能如下:一、交換行的距函數(shù)(huanhang):主要實(shí)現(xiàn)線性代數(shù)高斯列主元 消元法求解線性方程組中的初等行變換。二、比較系數(shù)大小的函數(shù)(bijiao):實(shí)現(xiàn)比較系數(shù)大小的算法。三、實(shí)現(xiàn)菜單選擇的函數(shù)(caidan):使用戶界面友好,操作方便。除上面介紹的功能之外,程序還具有“繼續(xù)運(yùn)算/退出”功能, 可以在程序的一次運(yùn)行當(dāng)中循環(huán)執(zhí)行所有的功能,并根據(jù)需要,終 止程序的執(zhí)行。、程序流程圖1、程序總體結(jié)構(gòu)圖圖1:程序總體結(jié)構(gòu)圖輸出:用gauss列主元消元法解線性方程組輸出:解方程
4、組請(qǐng)按1.輸出:退出程式請(qǐng)按2.圖1程序總體結(jié)構(gòu)圖2、具體功能框圖(1)界面caidan函數(shù)圖2 caidan函數(shù)輸出:繼續(xù)運(yùn)算按1,退出程序按2!根據(jù)getcher()«選擇enterecs其他調(diào)用退出輸出:不合法的輸入!yunsuan調(diào)用 caidan()比較bijiao函數(shù)圖3: bijiao函數(shù)temp=0-iit(3)交換行的矩函數(shù)huanhang函數(shù)i=l當(dāng)iv=u+l時(shí)aoi=ari14-4-i=l當(dāng)iv=u+l時(shí)ari=akii+i=l-當(dāng) iv=u+l 時(shí) a|k|i=a|oj|i i+圖 4: huanhang 函數(shù)(4)運(yùn)算yunsuan函數(shù)輸出:輸入方程組的維
5、數(shù):n二 輸入:n 輸出:現(xiàn)在輸入系數(shù)矩陣a和向量b:i=l當(dāng) iv二n輸出:請(qǐng)輸入系數(shù)和向量j=l當(dāng) i<=n+l時(shí)輸入 aijlf+i+當(dāng)k<=n-l吋ark=bijiao(k)ark=o假輸出:此方程組不合法!error!調(diào)用 caidanq調(diào)用huanhango并 代入flog,k的值i=k+l (接下頁)接上一頁:i二k+l (接上一頁)當(dāng) iv=n匸k+l當(dāng) j<=n+laij=aij-akj*aik/akkj+i+k+xn=ann+l/annk=n-l當(dāng)k>=l時(shí) me=o當(dāng) iv=nme=me+a k j *x j ak=(akn+l-me)/akl&l
6、t;i=l (接下一頁)接上一頁:i=l(接上一頁)當(dāng)i<=n時(shí)輸出:i,xii+調(diào)用 caidanq圖5: yunsuan函數(shù)三、核心技術(shù)的實(shí)現(xiàn)說明及相應(yīng)程序段木程序一共由四個(gè)自定義函數(shù)和一個(gè)主函數(shù)組成,其中主函數(shù) 以菜單的形式調(diào)用其他函數(shù)來實(shí)現(xiàn)要求的所有功能。在這些函數(shù)當(dāng) 屮,比較系數(shù)大小的函數(shù)、運(yùn)算函數(shù)是程序屮較為核心的部分,下 面分別進(jìn)行說明。1、比較系數(shù)大小的函數(shù)比較系數(shù)大小的函數(shù)主要是為 運(yùn)算函數(shù) 所做準(zhǔn)備的,fabs是 求雙精度浮點(diǎn)數(shù)的絕對(duì)值的函數(shù)。輸入?yún)?shù)是雙精度浮點(diǎn)數(shù),計(jì) 算結(jié)果送返絕對(duì)值,也是雙精度浮點(diǎn)數(shù)這樣才可以保證以前已經(jīng)存 在的數(shù)據(jù)不丟失。具體的程序段如下:fl
7、oat bijiao(int k) /*比較系數(shù)大小的函數(shù)*/int i;float temp=0;for(i=k;i<=n;i+)if(fabs(aik)>temp)temp=fabs(aik);flag=i;return temp;2、運(yùn)算函數(shù)運(yùn)算函數(shù)是本程序的主要部分,首先輸入系數(shù)和向量后存入數(shù) 組,判斷方程是否合法,不合法則返回菜單,然后通過循環(huán)解二維 數(shù)組,最后輸出結(jié)果i,xi,具體程序段如下:float yunsuan()float xnumber; /*此數(shù)組用于存放方程解*/ printf(nnn輸入方程組的維數(shù):n=n); scanf(m%dm,&n);p
8、rintf(h nn現(xiàn)在輸入系數(shù)矩陣a和向量b:n);for(i=l;i<=n;i+ ) printf(f,nn 請(qǐng)輸入 a?-a%d%d 系數(shù)和向量 b%d:",i,i,n);/*實(shí)現(xiàn)將每一行中的系數(shù)和向量一次性輸入,數(shù)之間用空格格開, 輸完后回車確定*/for(j=l;j<=n+l;j+ )/*將剛才輸入的數(shù)存入數(shù)組*/ scanf("%f&aij);for(k=l ;k<=n-l ;k+)ark=bijiao(k);if(ark=0) 判斷方程是否為線性方程,即是否合法勺printf(mnn 此方程組不合法!error!");cai
9、dan();else if(flag!=k)huanhang(flag9k);for(i=k+l;i<=n;i+)for(j=k+l;j<=n+l;j+)aijuj=aij-aku*aik/akk;xn=ann+l/ann;for( k=n-l;k>=l;k)float me=0;for(j=k+l;j<=n;j+)me=me+akj*xj;xk=(akn+l-me)/akk;for(i=l;i<=n;i+)print" nnx%d=%ri,xi);四、個(gè)人總結(jié)這次課設(shè)讓我更熟悉的掌握了通過c語言運(yùn)用高斯定理解方 程組,也使我對(duì)二維數(shù)組的認(rèn)識(shí)更加深入了解
10、,也對(duì)c語言有了更 深入的學(xué)習(xí)研究,我已感覺到我已經(jīng)從c語言的門口邁入了殿堂, 對(duì)c語言有了更好的認(rèn)識(shí)。在完成程序中,遇到過較大的困難,但 通過重新深入教材和對(duì)資料的理解,最終逐步完成。五、參考文獻(xiàn)1譚浩強(qiáng).c程序設(shè)計(jì).北京:清華大學(xué)出版社,20052劉成等.c語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集.北京:中國鐵道 出版社,2006六、源程序#includestdio. h> #include<math. h> #include<process. h> ttdefine number 20 float anumbernumber+1 , ark; int flag, n;h
11、uanhang(int r, int k);float bijiao(int k);caidan ();float yunsuan();char celect;void main()printfcnn用gauss列主元消元法解線性方程組); printf (nnl解方程組請(qǐng)按1.");printf (nn2退出程式請(qǐng)按2."); celect=getchar();switch(celect)case ' 2 :exit (0);case ' 1 : yunsuan ();default: printf ("error") jcaidan(
12、) ;caidan ();float yunsuan()float x number; /*此數(shù)組用于存放方程解*/int r, k, i, j;printf (z,nn輸入方程組的維數(shù):n=);scanf (d,&n);printf(,z nn現(xiàn)在輸入系數(shù)矩陣a和向量b:);for(i=l;i<=n;i+ )printf ("nn 請(qǐng)輸入 aoa%d%d 系數(shù)和向量 b%d:", i, i, n); printf(,zn(bp將每一行中的系數(shù)和向量一次性輸入,數(shù)之間用空 格格開,輸完后回車確定)n);/*實(shí)現(xiàn)將每一行中的系數(shù)和向量一次性輸入,數(shù)之間用空格格開
13、, 輸完后回車確定*/for(j=l; j<=n+l; j卄)/*將剛才輸入的數(shù)存入數(shù)組*/scanf ("%f", &ai j);for (k=l;k<=nl;k+ )ark=bijiao(k);辻(ark=0) /*判斷方程是否為線性方程,即是否合法*/printf (nn 此方程組不合法! error! ); caidan ();else if (flag!=k)huanhang(flag, k);for (i=k+l;i<=n;i+ )for(j=k+l;j<=n+l;j+ )ai j二ai j-ak j*ai k/ak k;xn=a
14、n n+l/an n;for ( k=n-l;k>=l;k-)float me=0; for(j=k+l;j<=n;j+ ) me二me+ak j*xj;xk = (ak n+l-me)/ak k;for(i=l;i<=n;i+ )printf (/z nnx%d=%f", i, xi);return caidano ;huanhang(int r, int k) /*交換行的矩函數(shù)*/int i;for(i=l;i<=n+l;i+ )a0i=ari; for(i=l;i<=n+l;i+ ) ar i二ak i; for (i=l;i<=n+l:i+ ) aki二a0i;float bijiao(int k) /*比較系數(shù)大小的函數(shù)*/ int i;float temp=0; for(i=k;i<=n;i+ )
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《致我們終將逝去的青春》觀后感6篇
- 年產(chǎn)2萬噸抗靜電擦拭布項(xiàng)目實(shí)施方案(參考范文)
- 節(jié)能技術(shù)在標(biāo)準(zhǔn)廠房項(xiàng)目中的應(yīng)用
- 貴州食品工程職業(yè)學(xué)院《礦井通風(fēng)與安全》2023-2024學(xué)年第二學(xué)期期末試卷
- 陽光學(xué)院《橡膠工廠設(shè)備》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱應(yīng)用職業(yè)技術(shù)學(xué)院《傳播學(xué)研究方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 柳州職業(yè)技術(shù)學(xué)院《口腔材料》2023-2024學(xué)年第二學(xué)期期末試卷
- 六盤水幼兒師范高等??茖W(xué)?!冻鞘协h(huán)境生態(tài)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北商貿(mào)學(xué)院《免疫與病原生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 成都文理學(xué)院《機(jī)械產(chǎn)品三維設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 六一兒童節(jié)英語介紹課件
- 2025年廣東省高三語文5月模擬聯(lián)測(cè)試卷附答案解析
- 中華人民共和國工會(huì)法課件
- 2024年會(huì)計(jì)專業(yè)考試高級(jí)會(huì)計(jì)實(shí)務(wù)試題與參考答案
- 歌曲《wake》中英文歌詞對(duì)照
- DB13(J)∕T 8057-2019 市政排水管渠工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)
- 最新中山市中小學(xué)校情況一覽表
- 地理信息安全在線培訓(xùn)考試-填空題
- 常用鋼制管件彎頭、三通、異徑管、管帽理論重量體積表
- 管廊、管架基礎(chǔ)施工方案
- ment、tion、sion、ture、age結(jié)尾的名詞
評(píng)論
0/150
提交評(píng)論