c語言課程設(shè)計--矩陣問題_第1頁
c語言課程設(shè)計--矩陣問題_第2頁
c語言課程設(shè)計--矩陣問題_第3頁
c語言課程設(shè)計--矩陣問題_第4頁
c語言課程設(shè)計--矩陣問題_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、課程設(shè)計(論文)題 目 名 稱 矩陣問題 課 程 名 稱 C語言程序課程設(shè)計 學(xué) 生 姓 名 學(xué) 號 系 、專 業(yè) 信息工程系、網(wǎng)絡(luò)工程專業(yè) 指 導(dǎo) 教 師 成婭輝 2021年 6月 6 日目 錄1 前言22 需求分析22.1 課程設(shè)計目的22.2 課程設(shè)計任務(wù)22.3 設(shè)計環(huán)境22.4 開發(fā)語言23 分析和設(shè)計23.1 模塊設(shè)計233.2 系統(tǒng)流程圖33.3 主要模塊的流程圖4104 具體代碼實現(xiàn)11165 課程設(shè)計總結(jié)165.1 程序運行結(jié)果 / 預(yù)期運行結(jié)果16175.2 課程設(shè)計體會1718參考文獻18致 謝181 前言從C語言產(chǎn)生到現(xiàn)在,它已經(jīng)成為最重要和最流行的編程語言之一。在各種

2、流行編程語言中,都能看到C語言的影子,如Java的語法與C語言基本相同。所以可以看出學(xué)習(xí)C語言的重要性。我們在c語言課程中學(xué)習(xí)了矩陣的的運用,在本次課程設(shè)計中我們需要編寫一個程序存放一個5*5的矩陣,然后通過調(diào)用兩個函數(shù)找到該矩陣的鞍點和最大最小值。2 需求分析2.1 課程設(shè)計目的學(xué)生在教師指導(dǎo)下運用所學(xué)課程的知識來研究、解決一些具有一定綜合性問題的專業(yè)課題。通過課程設(shè)計(論文),提高學(xué)生綜合運用所學(xué)知識來解決實際問題、使用文獻資料、及進行科學(xué)實驗或技術(shù)設(shè)計的初步能力,為畢業(yè)設(shè)計(論文)打基礎(chǔ)。2.2 課程設(shè)計任務(wù)已知一個55矩陣,用函數(shù)實現(xiàn):(1)找出該矩陣中的鞍點,“鞍點”指的是一個位置,

3、該位置上的元素在該行上最大,在該列上最小,也可能沒有鞍點。(2)將矩陣中最大的元素放在中心,四個角分別放四個最小的元素(按從左到右,從上到下順序依次從小到大存放)。2.3 設(shè)計環(huán)境(1)WINDOWS 2021 /2021 /XP/7/Vista系統(tǒng)(2)Visual C+或TC集成開發(fā)環(huán)境2.4 開發(fā)語言C語言3 分析和設(shè)計3.1 模塊設(shè)計定義一個二維數(shù)組a55存放一個矩陣,用for循環(huán)輸入25個數(shù)據(jù)到a55。定義一個f()函數(shù)用來查找矩陣中的鞍點,存放到aNM數(shù)組中,應(yīng)用flag標識變量,并用maxj存放某行中最大數(shù)組元素的列下標,若有鞍點則輸出鞍點的位置和值,否則輸出沒有鞍點。定義一個f

4、un()用來查找矩陣中的最大數(shù)和4個最小數(shù),存放到b5數(shù)組中,b0存放最大值放到5*5列表的最中間,即a22,b1存放第一小數(shù)放到左上角,b2存放第二小數(shù)放到右上角,b3存放第三小數(shù)放到左下角,b4存放第四小數(shù),放到右下角。 3.2 系統(tǒng)流程圖開始調(diào)用f()函數(shù)求鞍點調(diào)用fun()函數(shù)求最大最小數(shù)結(jié)束圖3.1 系統(tǒng)流程圖13.3 主要模塊的流程圖i=0iNmax=ai0i=0jMmax=aijj+min=maxk=0 圖3.2 f()函數(shù)流程圖 1 kNbreakk+flag=1k=Ni+flag!=1輸出沒有鞍點 圖 3.3 f()函數(shù)流程圖2 i=0;max=a00;k=l=0imax m

5、ax=aij ;k=i ;l=jj+i+交換akl與a22j5? 圖3.4 fun()函數(shù)流程圖1 i=0i5j=0jaijj+i+min=aij ; k=i ; l=j交換akl與a22 圖3.5 fun()函數(shù)流程圖2 i5min=aij k=i l=ji=0j=0jaij(i=0)&(j=0)j+i+交換akl與a22圖3.6 fun()函數(shù)流程圖3i5min=aij; k=i ; l=ji=0j=0jaij(i=0)&(j=0)j+i+交換akl與a22(i=0)&(j=4)continue圖3.7 fun()函數(shù)流程圖4i5min=aij k=i l=ji=0j=0jaij(i=0)

6、&(j=0)j+i+交換akl與a22(i=0)&(j=4)continue(i=0)&(j=4)continue結(jié)束圖3.8 fun函數(shù)流程圖54 具體代碼實現(xiàn)#includestdio.h#includemath.h#includestring.h#includestdlib.h#define N 5#define M 5void f(int aNM);void fun(int a55);void main() int i,j,a55; printf(請輸入矩陣:n); for(i=0;i5;i+) for(j=0;j5;j+) scanf(%d,&aij); f(a);/調(diào)用f函數(shù)求鞍點

7、 fun(a);/調(diào)用fun函數(shù)求最大最小值 for(i=0;i5;i+) for(j=0;j5;j+) printf(%5d,aij); printf(n); void f(int aNM) int i,j,k; /循環(huán)變量 int flag; /標識變量,表示整個矩陣是否有鞍點 int max,min; int maxj; /存當(dāng)前行中最大數(shù)組元素的列下標 flag=0; for(i=0;iN;i+) max=ai0; for(j=0;jM;j+) /尋找第i行中的最大值的列下標 if(maxaij) max=aij; maxj=j; min=max; for(k=0; kakmaxj)

8、break; if(k=N) flag=1; /有鞍點,輸出鞍點位置和值 printf(na%d%d=%dn,i,maxj,aimaxj); if(flag!=1) printf(沒有鞍點n);void fun(int a55)int i,j,k,l,b5,t,max,min;max=a00;/先假定其為最大值k=0;l=0;for(i=0;i5;i+) for(j=0;jmax)/用i,j存儲最大數(shù)的列下標max=aij;k=i;l=j;b0=akl;/將最大數(shù)放到最中間即a22akl=a22;a22=b0;min=a00;k=l=0;for(i=0;i5;i+)for(j=0;jaij)m

9、in=aij;k=i;l=j;b1=akl;/將最小數(shù)放到a00akl=a00;a00=b1;min=a01;k=0;l=1;/排除a00,尋找第二小數(shù)for(i=0;i5;i+)for(j=0;j5;j+)if(i=0)&(j=0)continue;elseif(aijmin)min=aij;k=i;l=j;b2=akl;/將找到第二小數(shù)放到右上角,即a04akl=a04;a04=b2;min=a01;k=0;l=1;for(i=0;i5;i+)/從a01點開始尋找第三小數(shù)for(j=0;j5;j+)if(i=0)&(j=0)continue;else if(i=0)&(j=4)/排除a04

10、來尋找continue;elseif(aijmin)min=aij;k=i;l=j;b3=akl;/將第三小數(shù)放到左下角,即a40akl=a40;a40=b3;min=a01;k=0;l=1;/從a01開始尋找第四小的數(shù)for(i=0;i5;i+)for(j=0;j5;j+)if(i=0)&(j=0)continue;else if(i=0)&(j=4)|(i=4)&(j=0)/排除已找到的最小數(shù)a04與a40的干擾continue;elseif(aijmin)min=aij;k=i;l=j;b4=akl;/將第四小的數(shù)放到右下角,即位置a44akl=a44;a44=b4;5 課程設(shè)計總結(jié)5.

11、1 程序運行結(jié)果 圖3.9.1 錄入的矩陣輸入如圖中的矩陣,輸出其鞍點,其最大數(shù)為35,放到矩陣最中間,最小的數(shù)為11,12,13,14,分別放到左上角,右上角,左下角和右下角。 圖 3.9.2 程序運行結(jié)果5.2 課程設(shè)計體會課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題。鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程。經(jīng)過一個學(xué)期的學(xué)習(xí),我對C語言有了一定的了解。C語言是學(xué)習(xí)計算機科學(xué)的基礎(chǔ),作為一名計算機專業(yè)學(xué)生,掌握C語言更是毋庸置疑。在上課之前,就經(jīng)常聽同學(xué)說,C語言很難學(xué),確實,剛開始聽課時覺得老師不知所云。不過,發(fā)現(xiàn)對后續(xù)內(nèi)容的預(yù)習(xí)后,前面的

12、疑團都迎刃而解,這讓我對C語言的學(xué)習(xí)更有信心。并且我們學(xué)習(xí)的不僅是科學(xué)的方法,還包括用什么樣的態(tài)度去對待這門課程,并且讓自理論性和實踐性在自身得到充分的發(fā)揮,用細心嚴謹?shù)膽B(tài)度去認識事物,且希望通過這次的實踐操作可以讓我更好地學(xué)習(xí)vb程序設(shè)計。參考文獻1黃同成,周紅波程序設(shè)計基礎(chǔ)教程(C語言)M湖南人民出版社,20212黃同成,黃磊程序設(shè)計實踐教程(C語言)M湖南人民出版社,20213譚浩強C程序設(shè)計(第三版)M北京:清華大學(xué)出版社,2021 致 謝本課程設(shè)計報告是在的成婭輝老師悉心指導(dǎo)下完成的,老師嚴謹?shù)闹螌W(xué)態(tài)度,一絲不茍的工作作風(fēng),平易近人的性格都是我學(xué)習(xí)的楷模。在設(shè)計報告的撰寫及整理期間,

13、老師給了我很大的講解與幫助,才使得報告得以順利的完成,在此謹向老師表示忠心的感謝和崇高的敬意。同時還要感謝祝定磊,陳小云等同學(xué),他們在我迷惑的也給了我很大的支持和幫助。感謝我的室友們,我一生都不會忘記。 最后感謝我的家人,養(yǎng)育之恩,無以回報。我將用自己最大的努力給你們欣慰。 公司印章管理制度一、目的 公司印章是公司對內(nèi)對外行使權(quán)力的標志,也是公司名稱的法律體現(xiàn), 因此,必須對印章進行規(guī)范化、合理化的嚴格管理,以保證公司各項業(yè)務(wù)的正常運作,由公司指定專人負責(zé)管理。二、印章的種類1、 公章,是按照政府規(guī)定,由主管部門批準刻制的代表公司權(quán)力的印章。2、 專用章,為方便工作專門刻制的用于某種特定用途的

14、印章,如:合同專用章、財務(wù)專用章、業(yè)務(wù)專用章、倉庫簽收章等。 3、手章(簽名章),是以公司法人代表名字刻制的用于公務(wù)的印章。三、印章的管理規(guī)定1、 印章指定專人負責(zé)保管和使用,保管印章的地方(桌、柜等)要牢固加鎖,印章使用后要及時收存。2、 財務(wù)專用章由財務(wù)部負責(zé)保管,向銀行備案的印章,應(yīng)由財務(wù)部會計、總經(jīng)辦分別保管。 3、印章要注意保養(yǎng),防止碰撞,還要及時清洗,以保持印跡清晰。4、一般情況下不得將印章攜出公司外使用,如確實因工作所需,則應(yīng)由印章管理員攜帶印章到場蓋章或監(jiān)印。 5、印章管理人員離職或調(diào)任時,須履行印章交接手續(xù)。四、公章刻制印章需本公司法人代表批準,并由印章管理專責(zé)人負責(zé)辦理刻制并啟用并交由專人進行保管。 五、印章的使用1、 使用任何的印章,需由相應(yīng)負責(zé)人審核簽字。為方便工 作,總經(jīng)理可授權(quán)印章管理專責(zé)人審核一般性事務(wù)用印。2、 用印前印章管理人員須認真審核,明確了解用印的內(nèi)容和目的,確 認符合用印的手續(xù)后,在用印登記簿上逐項登記,方可蓋章。 3、對需要留存的材料,蓋印后應(yīng)留存一份立卷歸檔。 4、不得在空白憑證、便箋上蓋章。 5、上報有關(guān)部門的文件資料,未經(jīng)部門經(jīng)理、總經(jīng)理審簽,不得蓋章。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論