中南大學(xué)C 程序設(shè)計報告_第1頁
中南大學(xué)C 程序設(shè)計報告_第2頁
中南大學(xué)C 程序設(shè)計報告_第3頁
中南大學(xué)C 程序設(shè)計報告_第4頁
中南大學(xué)C 程序設(shè)計報告_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C+程序設(shè)計報告4.O請觀察其規(guī)律,求題目:有數(shù)列 1/1+2/1+3/2+5/3+8/5+13/8+21/13+出該數(shù)列的前n項之和,結(jié)果要求保存四位小數(shù)。O請觀察其規(guī)律,求算法分析An=ai/bibn=an-lan=an-l+bnTSn-Sn-l+An程序:程序要有詳盡注釋,如:各參數(shù)的含義、函數(shù)的功能等#include#includeusing namespace std;int mainO(int a=2, b=l;int n, t;double s=l;定義變量,數(shù)列和的初始值為1,即n=L s=lcout”求前n項的和:”;cinn;for (int i=l;i=n-l;i+)(S

2、=s+a/b ; /Sn=Sn-l+Ant=a; a=a+b; b=t; 求 An 循環(huán)nT次,求和coutsetw(5) fixedsetprecision(4);設(shè)輸出結(jié)果域?qū)挒?個字符,保存4位小數(shù)coutsendl;return 0;運行結(jié)果二目xcT *1:c+程序設(shè)計4Debug4. exe求前n項的和:二目x16.0000Press any key to continue調(diào)試過程中出現(xiàn)過的問題和解決的方法首先找出數(shù)列各項的規(guī)律,然后按步驟編寫程序,這道題沒有遇到難以解決的問題。5.題目:采用二分法求解方程f(x)=x3-x-l=0在區(qū)間1.0, 1.5內(nèi)的一個實根。 要求精確到小

3、數(shù)點后的第2位。二分法的基本思想,就是將方程根所在的區(qū)間平 分為兩個小區(qū)間,再判斷根屬于哪個小區(qū)間;把有根的小區(qū)間再平分為二,再判 斷根所在的更小的區(qū)間,對分;重復(fù)這一過程,最后求出所要的近似值。算法分析二分法的基本思路是:任意兩個點a和b,判斷區(qū)間(a, b)內(nèi)有無一個實根,如果f_a 與f_c符號相反,那么說明有一實根。接著取(a,b)的中點c,檢查f_c和f_b是否同號,如 果不同號,說明實根在(c,b)之間,如果同號,在比擬(a, c),這樣就將范圍縮小一半,然 后按上述方法不斷的遞歸調(diào)用,直到區(qū)間相當(dāng)小(找出根為止)。(3)程序:程序要有詳盡注釋,如:各參數(shù)的含義、函數(shù)的功能等#in

4、clude#includeusing namespace std;double d(double);void mainO(double a=l. 0, b=l. 5, c;double f_a, f_b, f_c;f_a=d(a);f_b=d(b);doc= (a+b) /2; 求 a, b 的中點f_c=d (c);if (f_a*f_c0.01| |f_c-0.01);coutf (x) =x*x*x-x-1=0 end 1;coutz*x=zsetiosflags (ios:fixed) setprecision(2) cendl; / setprecision(2)與setiosfla

5、gs(ios:fixed)合用,可以控制小數(shù)點右邊的數(shù)字個數(shù) 為2,即保存兩位小數(shù))double d (double x)double f;f=x*x*x-x-l;return f;運行結(jié)果oxox:序設(shè)計5Debug5. exeF=x*x*x-x1=0 x=1.32Press any key to connue調(diào)試過程中出現(xiàn)過的問題和解決的方法第一次調(diào)試程序后,顯示結(jié)果為x=L 324718,沒有保存兩位小數(shù),經(jīng)過檢查,確定輸出語句 cout,zx=,setiosflags (ios: fixed) setprecision(2) cendl;是正確的,但是不知道為什么沒起作用。后來和同學(xué)討

6、論后,發(fā)現(xiàn)前面沒加#includeioinanip,因此 結(jié)果只能輸出C+默認(rèn)的輸出流有效位數(shù)。三、收獲與體會程序,最主要的是實踐。通過這一次集中的強化訓(xùn)練,我不僅鍛煉了自己的 結(jié)構(gòu)化程序設(shè)計思想,更提高了邏輯思維能力,理解了如何用C+語言來表達(dá) 面向?qū)ο蟆?,使自己的程序設(shè)計能力上一臺階,同時使自己的各種綜合能力得到 提高。經(jīng)過一學(xué)期的學(xué)習(xí)以及兩周的程序設(shè)計實踐,我學(xué)習(xí)C+最大的感觸是,首 先要認(rèn)真對待每個字符,每個命令,因為極其小的一個失誤導(dǎo)致的可能是整個程 序的崩潰,細(xì)心是首要的任務(wù),然后就是毅力,編寫一個程序不僅是技術(shù)活,而 是體力活,最重要的是要有毅力堅持到完。遇到不會的難點時,意志不

7、堅強就難 免半途而廢。而且C+的邏輯性很強,它的語言是英語,且是用數(shù)學(xué)語言來完成 的,所以學(xué)習(xí)C+需要很強的數(shù)學(xué)邏輯能力,在這一方面,我覺得自己還有很大 的進(jìn)步空間,在以后的學(xué)習(xí)中應(yīng)該多下工夫,從小的程序開始多做練習(xí),調(diào)試, 逐漸強化邏輯能力,掌握重要的知識點。一、 刖5我認(rèn)為安排此次課程設(shè)計的目的,是讓同學(xué)們在獨立完成設(shè)計、編寫、調(diào)試 應(yīng)用程序及編寫文檔的任務(wù)的過程中,及時鞏固已學(xué)的知識,補充未學(xué)但是非常 重要的知識,提高程序設(shè)計的能力。針對C+語言中的重點和難點內(nèi)容,如數(shù)組 和函數(shù)等,進(jìn)行訓(xùn)練,并且能充分發(fā)揮獨立自主學(xué)習(xí)的能力,對于在程序設(shè)計和 調(diào)試中遇到的問題,應(yīng)積極和同學(xué)交流,相互學(xué)習(xí)

8、,共同進(jìn)步二、正文1.題目:任意輸入一個正整數(shù),要求:(1)求它是幾位數(shù);(2)按逆序輸出各 位數(shù)字;(3)求奇數(shù)位數(shù)字之和。算法分析別離出每一末位數(shù)字,然后輸出;判斷是否為奇數(shù)位,將奇數(shù)位數(shù)字相加求和;利用循環(huán)結(jié)構(gòu)進(jìn)行編程,每位數(shù)字逐一進(jìn)行別離、判斷。(3)程序:程序要有詳盡注釋,如:各參數(shù)的含義、函數(shù)的功能等#includeusing namespace std;void main()int n, m, s=0, i=0; 定義變量cout0);循環(huán)一次,計算一次,共循環(huán)i次cout共有i位數(shù)字 endl;cout”奇數(shù)位之和是:sendl;(4)運行結(jié)果:c+程序設(shè)計 1 Debug 1

9、 . exe情輸入一個正整數(shù)n562789987265共有6位數(shù)字奇數(shù)位之和是:22Press any key to continue二調(diào)試過程中出現(xiàn)過的問題和解決的方法題目:輸入階數(shù)n (IWnWIO),輸出對應(yīng)的n階旋轉(zhuǎn)矩陣。所謂旋轉(zhuǎn)矩陣, 就是在n階矩陣中,起始數(shù)1置于方陣的左上角,然后從起始數(shù)開始依次遞增, 按順時針方向從外向里旋轉(zhuǎn)填數(shù)而成。如:輸入n=5,輸出: TOC o 1-5 h z 1234514232221813121110 9算法分析(3)程序:程序要有詳盡注釋,如:各參數(shù)的含義、函數(shù)的功能等#include#includeusing namespace std;void

10、 mainO(int n=0, m=l, 1, r, u, d, i=l, j=l, a10 10;定義變量和一個二維數(shù)組 cout/zinput the n:;cinn;l=l;r=n;u=l;d=n;while(l二r&u=d)循環(huán)一次 輸出一圈for (i=l; i=r; i+) 從左到右對數(shù)組賦值aj i=m+;u+=l;i-=l;for (j=u; j=l;i) 從右到左的aj i=m+;d-=l;i+=l;for (j=d; j=u; j) /從下到上的aj i=m+;1+=1;j+=l;)for(i=l;i=n;i+) 輸出數(shù)組(for(j=l;j=n;j+)coutsetw(3

11、)ai j;cout, n ;)(4)運行結(jié)果武工:。+程序設(shè)計2Debug2. exe TOC o 1-5 h z input the n:6 1234520212223241932333425183136352617 30 29 28 27 1016 15 14 13 12 11Press anyPress anyPress anykey to continuePress anykey to continue調(diào)試過程中出現(xiàn)過的問題和解決的方法題目:將一個5X5矩陣中的最小元素放在中心,四個角分別放四個最大的元 素(從左到右、從上到下的順序為從大到小存放),要求:(1)輸出變換后的矩 陣;(

12、2)任意輸入一個數(shù),如果該數(shù)在矩陣中,確定該數(shù)的位置。算法分析(3)程序:程序要有詳盡注釋,如:各參數(shù)的含義、函數(shù)的功能等ttinclude #include using namespace std;void myswap(int &a, int &b)(int x;x=a; a=b; b=x;)const int maxint=1992;void main()(intmat 5 5, max 4 = -l*maxint, -l*maxint, -l*maxint, -l*maxint, maxi 4, maxj4;int i, j, k, n, min=maxint, mini, minj;

13、 定義變量和一個二維數(shù)組.cout請輸入5X5矩陣:n”;for (i=0;i5;i+)(for (j=0;jmati j)min=matij; mini=i; minj=j;)int o, oi, oj;o=matij; oi=i; oj=j;for (k=0;kmaxk)(myswap (o, max k) ; my swap (oi, maxi k) ; my swap (o j, max j k)myswap (mat 2 2, mat mini minj);myswap(mat00, matmaxi0maxj0);myswap(mat40, mat Emaxi1maxj1);myswap(mat04, mat Emaxi2Emaxj2);myswap(mat44, mat Emaxi31Emaxj3);coutn調(diào)整后的數(shù)組為:n”;for (i=0;i5;i+)(for (j=0; j5; j+) coutsetw(4)mati j;coutn;coutn請輸入要查找的元素:;cinn;coutn目標(biāo)元素的位置是:n”;for (i=0;i5;i+)for (j=0;j5;j+)if (matij=n) cou

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論