版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元稀疏多項(xiàng)式計(jì)算器班級(jí): 軟件1408學(xué)號(hào):1130505140831姓名: 齊瑞征指導(dǎo)老師: 石鋒問題描述設(shè)計(jì)簡(jiǎn)單的一個(gè)一元稀疏多項(xiàng)式計(jì)算器?;疽笠辉∈瓒囗?xiàng)式簡(jiǎn)單計(jì)算器的基本功能是:(1) 輸入并建立多項(xiàng)式,以帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ);(2) 輸出多項(xiàng)式,輸出形式為整數(shù)序列:n,c1,e1, c2,e2, cn,en,其中n是多項(xiàng)式的項(xiàng)數(shù),ci,ei,分別是第i項(xiàng)的系數(shù)和指數(shù),序列按指數(shù)降序排序;(3) 多項(xiàng)式a和b相加,建立多項(xiàng)式a+b;(4) 多項(xiàng)式a和b相減,建立多項(xiàng)式a-b;(5) 多項(xiàng)式a和b相乘,建立多項(xiàng)式a*b;數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)在模擬多項(xiàng)式時(shí),為了簡(jiǎn)化處理
2、,只取最核心的兩個(gè)數(shù)據(jù):多項(xiàng)式的系數(shù)和指數(shù),具體數(shù)據(jù)結(jié)構(gòu)定義如下:typedef struct nodeint xs; /*系數(shù)*/int zs;/*指數(shù)*/struct node * next; /*next指針*/dnode,* dnodelist;功能函數(shù)設(shè)計(jì)(1)鏈表初始化函數(shù)creat_node()(2)多項(xiàng)式數(shù)據(jù)的輸入函數(shù)input()(3)數(shù)據(jù)的插入函數(shù)insert_node()(4)多項(xiàng)式的顯示函數(shù)output()(6)多項(xiàng)式的運(yùn)算函數(shù):新建鏈表存儲(chǔ)計(jì)算后的多項(xiàng)式多項(xiàng)式相乘mulresult()多項(xiàng)式相加addresult()多項(xiàng)式相減subresult()(7)主函數(shù)main
3、()創(chuàng)建兩個(gè)多項(xiàng)式的鏈表并且初始化,分別調(diào)用相應(yīng)的多項(xiàng)式創(chuàng)建函數(shù),創(chuàng)建成功后選擇運(yùn)算方式,再將運(yùn)算結(jié)果輸出顯示?!緦?shí)現(xiàn)過程】1、在d:根目錄下建立文件夾,命名方式為“班級(jí)”+“順序號(hào)(兩位)+“姓名”,例如你是商務(wù)1419班的,你在學(xué)生花名冊(cè)上的順序號(hào)是05號(hào),你的姓名是張有才,則文件夾的名字是“商務(wù)141905張有才”。這個(gè)文件夾就是你的工作文件夾。2、 在vc中創(chuàng)建c+源程序,命名為“poly.c”,保存在工作文件夾中;3、在poly.c中輸入以下內(nèi)容并編譯,使沒有語法錯(cuò)誤:#include#includetypedef struct nodeint xs;int zs;struct no
4、de * next;dnode,* dnodelist; /*定義結(jié)構(gòu)體*/dnodelist creat_node(void) /*鏈表初始化*/dnodelist d;d=(dnodelist)malloc(sizeof(dnode);if(d)d-next=null;return d;4、回答問題,以上程序中,creat_node(void)函數(shù)的功能是什么?答:創(chuàng)建鏈表里面的一個(gè)節(jié)點(diǎn)。5、在poly.c中完成如下函數(shù),并編譯。int insert_node(dnodelist d,int xs,int zs) /*插入函數(shù)*/dnodelist p;dnodelist q;dnodel
5、ist r;p=d;while(p-next) r=p;p=p-next;if(zs=p-zs) p-xs=p-xs+xs;return 1;else if(zsp-zs) q=creat_node();q-xs=xs;q-zs=zs;r-next=q;q-next=p;return 1;/*while(p-next)*/q=creat_node(); q-xs=xs;q-zs=zs;q-next=p-next;p-next=q;return 1;free(p);free(q);free(r);函數(shù)功能:將一項(xiàng)合并到多項(xiàng)式中。參數(shù)說明:d:一個(gè)帶頭結(jié)點(diǎn)的單鏈表的頭指針,其中按指數(shù)降序存放一個(gè)一
6、元多項(xiàng)式的數(shù)據(jù);xs:要合并的項(xiàng)的系數(shù);zs:要合并的項(xiàng)的指數(shù)。6、在poly.c中完成如下函數(shù),并編譯。void output(dnodelist d)dnodelist r;r=d-next;printf(%dx%d,r-xs,r-zs);r=r-next;while(r!=null)if(r-xs0)printf(+%dx%d,r-xs,r-zs);elseprintf(%dx%d,r-xs,r-zs);r=r-next;printf(n); 函數(shù)功能:以類似“-3*x100+2*x10-10”的形式輸出d中存放的多項(xiàng)式數(shù)據(jù)。7、在poly.c中輸入以下函數(shù),并編譯。dnodelist
7、input(void) dnodelist d; int xs, zs; d = creat_node(); printf(請(qǐng)輸入系數(shù)和指數(shù)(系數(shù),指數(shù)):); scanf(%d,%d, &xs, &zs); while(xs!=0 & zs!=0) insert_node(d, xs, zs); printf(請(qǐng)輸入系數(shù)和指數(shù)(系數(shù),指數(shù)):); scanf(%d,%d, &xs, &zs); return d;你認(rèn)為以上函數(shù)的功能是什么?答:從鍵盤輸入系數(shù)和指數(shù)存放在鏈表中。8、在poly.c中輸入以下main()函數(shù),并編譯。void main(void) dnodelist d; d
8、= input(); output(d);9、運(yùn)行你的程序,輸入以下數(shù)據(jù):-3,1002,10-10,10,0將你的程序的運(yùn)行結(jié)果的界面粘貼在下面:10、在poly.c中完成以下函數(shù),其功能是計(jì)算d1和d2中兩個(gè)多項(xiàng)式的和,函數(shù)返回和多項(xiàng)式。dnodelist addresult(dnodelist d1,dnodelist d2) dnodelist d;dnodelist p,q;int x,z;d=creat_node();p=d1-next;q=d2-next;while(q)x=q-xs;z=q-zs;insert_node(d,x,z);q=q-next;while(p)x=p-x
9、s;z=p-zs;insert_node(d,x,z);p=p-next; return d;11、在poly.c中完成以下兩個(gè)函數(shù),其功能分別是是計(jì)算兩個(gè)多項(xiàng)式的差和乘積。dnodelist subresult(dnodelist d1, dnodelist d2) dnodelist d;dnodelist p,q;int x,z;d=creat_node();p=d1-next;q=d2-next;while(p&q)if(p-zs)zs)x=-(q-xs); z=q-zs;insert_node(d,x,z);q=q-next;else if(p-zs)(q-zs)x=p-xs;z=p
10、-zs;insert_node(d,x,z);p=p-next;else z=q-zs;x=(p-xs)-(q-xs);insert_node(d,x,z);p=p-next;q=q-next;while(p)x=p-xs;z=p-zs;insert_node(d,x,z);p=p-next;while(q)x=-(q-zs);z=q-zs;insert_node(d,x,z);q=q-next; return d;dnodelist mulresult(dnodelist d1, dnodelist d2)dnodelist d;dnodelist p,q;int x,z;d=creat_n
11、ode();p=d1-next;q=d2-next;while(q)while(p)x=p-xs*q-xs; /*系數(shù)相乘,指數(shù)相加*/z=p-zs+q-zs;insert_node(d,x,z);p=p-next;p=d1-next;q=q-next;return d;12、 編寫main函數(shù),功能輸入兩個(gè)多項(xiàng)式的數(shù)據(jù),計(jì)算并輸出和、差、積多項(xiàng)式,把程序運(yùn)行結(jié)果的界面粘貼在下面。收獲和建議1、通過本次課程設(shè)計(jì),你都有哪些收獲,請(qǐng)寫在下面。通過這次課程設(shè)計(jì),我感覺到要真正做出一個(gè)程序并不很容易,但只要用心去做,總會(huì)有收獲,特別是當(dāng)我遇到問題,查資料,問同學(xué),想盡辦法去解決,最后終于找到方法時(shí),
12、心里的那份喜悅之情真是難以形容.編寫程序中遇到問題再所難免,應(yīng)耐心探究其中的原因,從出現(xiàn)問題的地方起,并聯(lián)系前后程序,仔細(xì)推敲,逐個(gè)排查.直到最終搞清為止。 “享受制作過程 追求更加完美”是我對(duì)實(shí)訓(xùn)的總結(jié)。2、 你對(duì)這門課程教學(xué)內(nèi)容和方法有什么好的建議,請(qǐng)寫在下面。 通過這次課程設(shè)計(jì)我覺得我們學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的方法存在一定的弊端,數(shù)據(jù)結(jié)構(gòu)的效果直接影響到我們對(duì)其它專業(yè)課的學(xué)習(xí)和今后業(yè)務(wù)的成長(zhǎng)。我覺得我們對(duì)于數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)不僅包括理論部分的學(xué)習(xí),還要讓我們勤動(dòng)手,多實(shí)踐。整個(gè)實(shí)驗(yàn)過程要結(jié)合教學(xué)進(jìn)度與我們的實(shí)際情況,制定實(shí)驗(yàn)的內(nèi)容。實(shí)驗(yàn)分兩部分,一是驗(yàn)證性的,主要結(jié)合課堂理論教學(xué)內(nèi)容展開,學(xué)生可以對(duì)在課堂上學(xué)到的基本算法進(jìn)行驗(yàn)證;二是設(shè)計(jì)性實(shí)驗(yàn),堅(jiān)持“學(xué)以致用”的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度綠色環(huán)保辦公樓轉(zhuǎn)讓代理合同3篇
- 2025年度商業(yè)區(qū)車棚投資建設(shè)合同模板4篇
- 甲方向乙方以2025年度房產(chǎn)抵扣債務(wù)的協(xié)議3篇
- 二零二五年度輪胎制造企業(yè)供應(yīng)鏈管理合同4篇
- 個(gè)人車庫交易協(xié)議樣式一
- 2025版升壓站安裝與電力設(shè)施安全防護(hù)合同3篇
- 二零二四年度專業(yè)高空維修升降機(jī)租賃合同含緊急搶修服務(wù)3篇
- 2025版?zhèn)€人消費(fèi)貸款擔(dān)保服務(wù)合同規(guī)范文本3篇
- 二零二五年度房產(chǎn)抵押貸款抵押權(quán)質(zhì)權(quán)合同范本3篇
- 2025年度智能物流系統(tǒng)試用買賣合同范本4篇
- SOR-04-014-00 藥品受托生產(chǎn)企業(yè)審計(jì)評(píng)估報(bào)告模板
- 新媒體論文開題報(bào)告范文
- 2024年云南省中考數(shù)學(xué)試題含答案解析
- 國(guó)家中醫(yī)藥管理局發(fā)布的406種中醫(yī)優(yōu)勢(shì)病種診療方案和臨床路徑目錄
- 2024年全國(guó)甲卷高考化學(xué)試卷(真題+答案)
- 汽車修理廠管理方案
- 人教版小學(xué)數(shù)學(xué)一年級(jí)上冊(cè)小學(xué)生口算天天練
- (正式版)JBT 5300-2024 工業(yè)用閥門材料 選用指南
- 三年級(jí)數(shù)學(xué)添括號(hào)去括號(hào)加減簡(jiǎn)便計(jì)算練習(xí)400道及答案
- 蘇教版五年級(jí)上冊(cè)數(shù)學(xué)簡(jiǎn)便計(jì)算300題及答案
- 澳洲牛肉行業(yè)分析
評(píng)論
0/150
提交評(píng)論