c++語言程序設計課后習題答案_第1頁
c++語言程序設計課后習題答案_第2頁
c++語言程序設計課后習題答案_第3頁
c++語言程序設計課后習題答案_第4頁
c++語言程序設計課后習題答案_第5頁
已閱讀5頁,還剩276頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1-1 簡述計算機程序設計語言的發(fā)展歷程。解:迄今為止計算機程序設計語言的發(fā)展經歷了機器語言、匯編語言、高級語言等階段, c+語言是一種面向對象的編程語言,也屬于高級語言。 1-2 面向對象的編程語言有哪些特點?解:面向對象的編程語言與以往各種編程語言有根本的不同,它設計的出發(fā)點就是為了能更直接的描述客觀世界中存在的事物以及它們之間的關系。面向對象的編程語言將客觀事物看作具有屬性和行為的對象,通過抽象找出同一類對象的共同屬性(靜態(tài)特征)和行為(動態(tài)特征),形成類。通過類的繼承與多態(tài)可以很方便地實現(xiàn)代碼重用,大大縮短了軟件開發(fā)周期,并使得軟件風格統(tǒng)一。因此,面向對象的編程語言使程序能夠比較直接地

2、反問題域的本來面目,軟件開發(fā)人員能夠利用人類認識事物所采用的一般思維方法來進行軟件開發(fā)。c+語言是目前應用最廣的面向對象的編程語言。 1-3 什么是結構化程序設計方法?這種方法有哪些優(yōu)點和缺點?解:結構化程序設計的思路是:自頂向下、逐步求精;其程序結構是按功能劃分為若干個基本模塊;各模塊之間的關系盡可能簡單,在功能上相對獨立;每一模塊內部均是由順序、選擇和循環(huán)三種基本結構組成;其模塊化實現(xiàn)的具體方法是使用子程序。結構化程序設計由于采用了模塊分解與功能抽象,自頂向下、分而治之的方法,從而有效地將一個較復雜的程序系統(tǒng)設計任務分解成許多易于控制和處理的子任務,便于開發(fā)和維護。雖然結構化程序設計方法具

3、有很多的優(yōu)點,但它仍是一種面向過程的程序設計方法,它把數(shù)據(jù)和處理數(shù)據(jù)的過程分離為相互獨立的實體。當數(shù)據(jù)結構改變時,所有相關的處理過程都要進行相應的修改,每一種相對于老問題的新方法都要帶來額外的開銷,程序的可重用性差。由于圖形用戶界面的應用,程序運行由順序運行演變?yōu)槭录寗樱沟密浖褂闷饋碓絹碓椒奖?,但開發(fā)起來卻越來越困難,對這種軟件的功能很難用過程來描述和實現(xiàn),使用面向過程的方法來開發(fā)和維護都將非常困難。 1-4 什么是對象?什么是面向對象方法?這種方法有哪些特點?體 -對象。對同類型對象抽象出其共性,形成類。類中的大多數(shù)數(shù)據(jù),只能用本類的方法進行處理。類通過一個簡單的外部接口,與外界發(fā)生關

4、系,對象與對象之間通過消息進行通訊。這樣,程序模塊間的關系更為簡單,程序模塊的獨立性、數(shù)據(jù)的安全性就有了良好的保障。通過實現(xiàn)繼承與多態(tài)性,還可以大大提高程序的可重用性,使得軟件的開發(fā)和維護都更為方便。面向對象方法所強調的基本原則,就是直接面對客觀存在的事物來進行軟件開發(fā),將人們在日常生活中習慣的思維方式和表達方式應用在軟件開發(fā)中,使軟件開發(fā)從過分專業(yè)化的方法、規(guī)則和技巧中回到客觀世界,回到人們通常的思維。 1-5 什么叫做封裝?解:封裝是面向對象方法的一個重要原則,就是把對象的屬性和服務結合成一個獨立的系統(tǒng)單位,并盡可能隱蔽對象的內部細節(jié)。 1-6 面向對象的軟件工程包括哪些主要內容?解:面向

5、對象的軟件工程是面向對象方法在軟件工程領域的全面應用,它包括面向對象的分析(ooa)、面向對象的設計( ood)、面向對象的編程( oop)、面向對象的測試( oot)和面向對象的軟件維護(oosm)等主要內容。 1-7 簡述計算機內部的信息可分為幾類?解:計算機內部的信息可以分成控制信息和數(shù)據(jù)信息二大類;控制信息可分為指令和控制字兩類;數(shù)據(jù)信息可分為數(shù)值信息和非數(shù)值信息兩類。 1-8 什么叫二進制?使用二進制有何優(yōu)點和缺點?二進制是基數(shù)為 2,每位的權是以 2 為底的冪的進制,遵循逢二進一原則,基本符號為 0和 1。采用二進制碼表示信息,有如下幾個優(yōu)點: 1.易于物理實現(xiàn); 2.二進制數(shù)運算

6、簡單; 3.機器可靠性高; 4.通用性強。其缺點是它表示數(shù)的容量較小,表示同一個數(shù),二進制較其他進制需要更多的位數(shù)。 1-9 請將以下十進制數(shù)值轉換為二進制和十六進制補碼:(1)2 (2)9 (3)93 (4)-32 (5)65535 (6)-1 解:(1)( 2)10 = (10)2 = (2)16(2)( 9)10 = (1001)2 =(9)16(3)( 93)10 = (1011101)2 = (5d)16 (4)( -32)10 = (11100000)2 = (e0)16(5)( 65535)10 = (11111111 11111111)2 = (ffff)16 (6)( -1)

7、10 = (11111111 11111111)2 =(ffff)16 1-10請將以下數(shù)值轉換為十進制:(1)(1010)2 (2)(10001111)2 (3)(01011111 11000011)2 (4)(7f)16(5)(2d3e)16(6)(f10e)16 解: (1)(1010)2 = (10)10 (2)(10001111)2 = (143)10 (3)(01011111 11000011)2 =(24515)10 (4)(7f)16 = (127)10 (5)(2d3e)16 = (11582)10 (6)(f10e)16 = (61710)10 1-11簡要比較原碼、反碼、

8、補碼等幾種編碼方法。解:原碼:將符號位數(shù)字化為 0 或 1,數(shù)的絕對值與符號一起編碼,即所謂 符號絕對值表示的編碼。正數(shù)的反碼和補碼與原碼表示相同。負數(shù)的反碼與原碼有如下關系:符號位相同(仍用 1表示),其余各位取反(0變 1,1變 0)。加 1求得。第二章 c+簡單程序設計 2-1 c+語言有那些主要特點和優(yōu)點?解: c+語言的主要特點表現(xiàn)在兩個方面,一是全面兼容 c,二是支持面向對象的方法。 c+是一個更好的 c,它保持了 c的簡潔、高效、接近匯編語言、具有良好的可讀性和可移植性等特點,對 c的類型系統(tǒng)進行了改革和擴充,因此 c+比 c更安全,c+的編譯系統(tǒng)能檢查出更多的類型錯誤。 c+語

9、言最重要的特點是支持面向對象。 2-2 下列標識符哪些是合法的 ? program, -page, _lock, test2, 3in1, mail, a_b_c_d解: program, _lock, test2, a_b_c_d是合法的標識符,其它的不是。 2-3 例 2.1中每條語句的作用是什么? #include void main(void) couthello!n; coutwelcome to c+!n; 解: #include /指示編譯器將文件 iostream.h中的代碼 /嵌入到該程序中該指令所在的地方 void main() /主函數(shù)名,void 表示函數(shù)沒有返回值 /

10、函數(shù)體標志 couthello!n; /輸出字符串 hello!到標準輸出設備(顯示器)上。 coutwelcome to c+!n; /輸出字符串 welcome to c+! 在屏幕輸出如下:welcome to c+! 2-4 使用關鍵字 const而不是 #define語句的好處有哪些?解: const定義的常量是有類型的,所以在使用它們時編譯器可以查錯;而且,這些變量在調試時仍然是可見的。 2-5 請寫出 c+語句聲明一個常量 pi,值為 3.1416;再聲明一個浮點型變量 a,把 pi的值賦給 a。解: const float pi = 3.1416; float a = pi;

11、2-6 在下面的枚舉類型中, blue的值是多少? enum color white, black = 100, red, blue, green = 300 ; 解: blue = 102 2-7 注釋有什么作用? c+中有哪幾種注釋的方法?他們之間有什么區(qū)別? 解:注釋在程序中的作用是對程序進行注解和說明,以便于閱讀。編譯系統(tǒng)在對源程序進行編譯時不理會注釋部分,因此注釋對于程序的功能實現(xiàn)不起任何作用。而且由于編譯時忽略注釋部分,所以注釋內容不會增加最終產生的可執(zhí)行程序的大小。適當?shù)厥褂米⑨?,能夠提高程序的可讀性。在 c+中,有兩種給出注釋的方法:一種是延用 c語言方法,使用 /*和*/括起

12、注釋文字。另一種方法是使用 /,從/開始,直到它所在行的行尾,所有字符都被作為注釋處理。 2-8 什么叫做表達式? x = 5 + 7是一個表達式嗎?它的值是多少?任何一個用于計算值的公式都可稱為表達式。x = 5 + 7是一個表達式,它的值為 12。 2-9 下列表達式的值是多少? 1. 201 / 4 2. 201 % 4 3. 201 / 4.0 解: 1 50 2 1 3 50.25 2-10執(zhí)行完下列語句后, a、b、c三個變量的值為多少? a = 30; b = a+; c = +a; 解: a:32; b:30; c:32; 2-11在一個 for循環(huán)中,可以初始化多個變量嗎?如

13、何實現(xiàn)?解:在 for循環(huán)設置條件的第一個;前,用,分隔不同的賦值表達式。例如: for (x = 0, y = 10;x 100; x+, y+) 2-12執(zhí)行完下列語句后, n的值為多少? int n; for (n = 0; n 100; n+) 解: n的值為 100 條 for語句,計數(shù)條件為 n從 100到 200,步長為 2;然后用 while和 dowhile語句完成同樣的循環(huán)。解: for循環(huán): for (int n = 100; n = 200; n += 2); while循環(huán): int x = 100; while (n = 200) n += 2; dowhile循環(huán)

14、: int n = 100; do n += 2; while(n y) x = y; else / y x | y = x 2-17修改下面這個程序中的錯誤,改正后它的運行結果是什么? #include void main() int i int j; i = 10; /*給 i賦值 j = 20; /*給 j賦值 */ cout i + j = i + j; /*輸出結果 */ return 0; 解:改正: #include int main() int i; int j; i = 10; / 給 i賦值 j = 20; /*給 j賦值 */ cout i + j = i + j; /*

15、輸出結果 */ return 0; 程序運行輸出: i + j = 30 2-18編寫一個程序,運行時提示輸入一個數(shù)字,再把這個數(shù)字顯示出來。解:源程序: #include int main() int i; cout i; cout 您輸入一個數(shù)字是 i endl; 程序運行輸出:請輸入一個數(shù)字:5 您輸入一個數(shù)字是 5 2-19 c+有哪幾種數(shù)據(jù)類型?簡述其值域。編程顯示你使用的計算機中的各種數(shù)據(jù)類型的字節(jié)數(shù)。解:源程序: #include int main() cout the size of an int is:tt sizeof(int) bytes.n; cout the size

16、 of a short int is:t sizeof(short) bytes.n; cout the size of a long int is:t sizeof(long) bytes.n; cout the size of a char is:tt sizeof(char) bytes.n; cout the size of a float is:tt sizeof(float) bytes.n; cout the size of a double is:t sizeof(double) bytes.n; return 0; 程序運行輸出: the size of an int is:

17、 4 bytes. the size of a short int is: 2 bytes. the size of a long int is: 4 bytes. the size of a char is: 1 bytes. the size of a float is: 4 bytes. the size of a double is: 8 bytes. 2-20打印 ascii碼為 32127的字符。解: #include int main() for (int i = 32; i128; i+) cout (char) i; return 0; 程序運行輸出: !#$%g()*+,

18、./0123456789:;?abcdefghijklmnop_qrstuvwxyzabcdefghijkl mnopqrstuvwxyzs 2-21運行下面的程序,觀察其輸出,與你的設想是否相同? #include int main() unsigned int x; unsigned int y = 100; unsigned int z = 50; x= y - z; cout difference is: x; x = z - y; cout nnow difference is: x endl; return 0; 解:程序運行輸出: difference is: 50 now di

19、fference is: 4294967246注意,第二行的輸出并非 -50,注意 x、y、z的數(shù)據(jù)類型。 2-22運行下面的程序,觀察其輸出,體會 i+與+i的差別。 #include int main() int myage = 39; / initialize two integers int yourage = 39; cout i am: myage years old.n; cout you are: yourage years oldn; myage+; / postfix increment +yourage; / prefix increment cout one year

20、passes.n; cout i am: myage years old.n; cout you are: yourage years oldn; cout another year passesn; cout i am: myage+ years old.n; cout lets print it again.n; cout i am: myage years old.n; cout you are: yourage years oldn; return 0; 解:程序運行輸出: i am 39 years old you are 39 years old one year passes i

21、 am 40 years old you are 40 years old another year passes i am 40 years old you are 41 years old lets print it again i am 41 years old you are 41 years old 2-23什么叫常量?什么叫變量?解:所謂常量是指在程序運行的整個過程中其值始終不可改變的量,除了用文字表示常量外,也可以為常量命名,這就是符號常量;在程序的執(zhí)行過程中其值可以變化的量稱為變量,變量是需要用名字來標識的。 2-24變量有哪幾種存儲類型?解:變量有以下幾種存儲類型: auto

22、存儲類型:采用堆棧方式分配內存空間,屬于一時性存儲,其存儲空間可以被若干變量多次覆蓋使用; register存儲類型:存放在通用寄存器中; extern存儲類型:在所有函數(shù)和程序段中都可引用; static存儲類型:在內存中是以固定地址存放的,在整個程序運行期間都有效。1. 2 3 & 6 9 2. ! ( 4 5) | (6 2 解: 1 1 2 -1 3 0 4 0 2-28編寫一個完整的程序,實現(xiàn)功能:向用戶提問 現(xiàn)在正在下雨嗎? ,提示用戶輸入 y或 n。若輸入為 y,顯示 現(xiàn)在正在下雨。;若輸入為 n,顯示 現(xiàn)在沒有下雨。;否則繼續(xù)提問現(xiàn)在正在下雨嗎? #include #inclu

23、de void main() char flag; while(1) cout flag; if ( toupper(flag) = y) cout 現(xiàn)在正在下雨。; break; if ( toupper(flag) = n) cout 現(xiàn)在沒有下雨。; break; 程序運行輸出:現(xiàn)在正在下雨嗎?(yes or no):x 現(xiàn)在正在下雨嗎?(yes or no):l 現(xiàn)在正在下雨嗎?(yes or no):q 現(xiàn)在正在下雨嗎?(yes or no):n 現(xiàn)在沒有下雨?;颍含F(xiàn)在正在下雨嗎?(yes or no):y 現(xiàn)在正在下雨。 2-29編寫一個完整的程序,運行時向用戶提問 你考試考了多少

24、分?( 0100),接收輸入后判斷其等級,顯示出來。規(guī)則如下:解: #include int i,score; cout score; if (score100 | score0) cout 分數(shù)值必須在 0到 100之間!; else i = score/10; switch (i) case 10: case 9: cout 你的成績?yōu)閮?yōu)!; break; case 8: cout 你的成績?yōu)榱迹? break; case 7: case 6: cout 你的成績?yōu)橹校? break; default: cout 你的成績?yōu)椴睿? 程序運行輸出:你考試考了多少分?(0100):85 你的成

25、績?yōu)榱迹?2-30(1)實現(xiàn)一個簡單的菜單程序,運行時顯示 menu: a(dd) d(elete) s(ort) q(uit), select one:提示用戶輸入,a表示增加,d表示刪除,s表示排序,q表示退出,輸入為 a、d、 s時分別提示數(shù)據(jù)已經增加、刪除、排序。輸入為 q時程序結束。要求使用 if else語句進行判斷,用 break、continue控制程序流程。解: #include #include char choice,c; while(1) cout c; choice = toupper(c); if (choice = a) cout 數(shù)據(jù)已經增加. endl; co

26、ntinue; else if (choice = d) cout 數(shù)據(jù)已經刪除. endl; continue; else if (choice = s) cout 數(shù)據(jù)已經排序. endl; continue; else if (choice = q) break; 程序運行輸出: menu: a(dd) d(elete) s(ort) q(uit), select one:a 數(shù)據(jù)已經增加. menu: a(dd) d(elete) s(ort) q(uit), select one:d 數(shù)據(jù)已經刪除. menu: a(dd) d(elete) s(ort) q(uit), select

27、 one:s 數(shù)據(jù)已經排序. menu: a(dd) d(elete) s(ort) q(uit), select one:q (2)實現(xiàn)一個簡單的菜單程序,運行時顯示 menu: a(dd) d(elete) s(ort) q(uit), select one:提示用戶輸入,a表示增加, d表示刪除, s表示排序,q表示退出,輸入為 a、d、s時分別提示數(shù)據(jù)已經增加、刪除、排序。輸入為 q時程序結束。要求使用 switch語句。解:源程序: #include #include char choice; while(1) cout choice; switch(toupper(choice)

28、case a: cout 數(shù)據(jù)已經增加. endl; break; case d: cout 數(shù)據(jù)已經刪除. endl; break; case s: cout 數(shù)據(jù)已經排序. endl; break; case q: exit(0); break; default: ; 程序運行輸出: menu: a(dd) d(elete) s(ort) q(uit), select one:a 數(shù)據(jù)已經增加. menu: a(dd) d(elete) s(ort) q(uit), select one:d 數(shù)據(jù)已經刪除. menu: a(dd) d(elete) s(ort) q(uit), selec

29、t one:s 數(shù)據(jù)已經排序. menu: a(dd) d(elete) s(ort) q(uit), select one:q 2-31用窮舉法找出 1100間的質數(shù),顯示出來。分別使用 while,do-while,for循環(huán)語句實現(xiàn)。解:源程序:使用 while循環(huán)語句:#include void main() int i,j,k,flag; i = 2; while(i = 100) flag = 1; k = sqrt(i); j = 2; while (j = k) if(i%j = 0) flag = 0; break; j+; if (flag) cout i 是質數(shù). end

30、l; i+; 使用 dowhile循環(huán)語句: #include #include void main() int i,j,k,flag; i = 2; do flag = 1; k = sqrt(i); j = 2; do if(i%j = 0) flag = 0; break; j+; while (j = k); if (flag) cout i 是質數(shù). endl; i+; while(i = 100); 使用 for循環(huán)語句: #include #include void main() int i,j,k,flag; for(i = 2; i = 100; i+) flag = 1;

31、k = sqrt(i); for (j = 2; j = k; j+) if(i%j = 0) flag = 0; break; if (flag) cout i 是質數(shù). endl; 程序運行輸出: 2是質數(shù). 3是質數(shù). 5是質數(shù). 7是質數(shù). 11是質數(shù). 13是質數(shù). 17是質數(shù). 19是質數(shù). 23是質數(shù). 29是質數(shù). 31是質數(shù). 2-32比較 break語句與 continue語句的不同用法。解: break使程序從循環(huán)體和 switch語句內跳出,繼續(xù)執(zhí)行邏輯上的下一條語句,不能用在別處; continue語句結束本次循環(huán),接著開始判斷決定是否繼續(xù)執(zhí)行下一次循環(huán); 2-33定

32、義一個表示時間的結構體,可以精確表示年、月、日、小時、分、秒;提示用戶輸入年、月、日、小時、分、秒的值,然后完整地顯示出來。解:源程序見實驗指導部分實驗二 2-34在程序中定義一個整型變量,賦以 1100的值,要求用戶猜這個數(shù),比較兩個數(shù)的大小,把結果提示給用戶,直到猜對為止。分別使用 while、dowhile語句實現(xiàn)循環(huán)。解: /使用 while語句 #include void main() int n = 18; int m = 0; cout m; if (n m) cout 你猜的值太小了! endl; else if (n m) cout 你猜的值太大了! endl; else c

33、out 你猜對了! endl; /使用 dowhile語句 #include void main() int n = 18; int m = 0; do cout m; if (n m) cout 你猜的值太小了! endl; else if (n m) cout 你猜的值太大了! endl; else cout 你猜對了! endl; while(n != m); 程序運行輸出:請猜這個數(shù)的值為多少?(0100):50 你猜的值太大了!請猜這個數(shù)的值為多少?(0100):25 你猜的值太大了!請猜這個數(shù)的值為多少?(0100):10 你猜的值太小了!請猜這個數(shù)的值為多少?(0100):15

34、你猜的值太小了!請猜這個數(shù)的值為多少?(0100):18 你猜對了!型 weekday,包括 sunday到 saturday七個元素在程序中定義 weekday類型的變量,對其賦值,定義整型變量,看看能否對其賦 weekday類型的值。解: #include enum weekday sunday, monday, tuesday, wednesday, thursday, friday, saturday ; void main() int i; weekday d = thursday; cout d = d endl; i = d; cout i = i endl; d = (week

35、day)6; cout d = d endl; d = weekday( 4 ); cout d = d endl; 程序運行輸出: d = 4 i = 4 d = 6 d = 4 第三章函數(shù) 3-1 c+中的函數(shù)是什么?什么叫主調函數(shù),什么叫被調函數(shù),二者之間有什么關系?如何解:一個較為復雜的系統(tǒng)往往需要劃分為若干子系統(tǒng),高級語言中的子程序就是用來實現(xiàn)這種模塊劃分的。c和 c+語言中的子程序就體現(xiàn)為函數(shù)。調用其它函數(shù)的函數(shù)被稱為主調函數(shù),被其它函數(shù)調用的函數(shù)稱為被調函數(shù)。一個函數(shù)很可能既調用別的函數(shù)又被另外的函數(shù)調用,這樣它可能在某一個調用與被調用關系中充當主調函數(shù),而在另一個調用與被調用關

36、系中充當被調函數(shù)。調用函數(shù)之前先要聲明函數(shù)原型。按如下形式聲明:類型標識符被調函數(shù)名 (含類型說明的形參表); 聲明了函數(shù)原型之后,便可以按如下形式調用子函數(shù):函數(shù)名(實參列表) 3-2 觀察下面程序的運行輸出,與你設想的有何不同?仔細體會引用的用法。源程序: #include int main() int intone; int &rsomeref = intone; intone = 5; cout intone:tt intone endl; cout rsomeref:t rsomeref endl; int inttwo = 8; rsomeref = inttwo; / not w

37、hat you think! cout nintone:tt intone endl; cout inttwo:tt inttwo endl; cout rsomeref:t rsomeref endl; return 0; 程序運行輸出: intone: 5 rsomeref: 5 intone: 8 inttwo: 8 rsomeref: 8 解:值調用是指當發(fā)生函數(shù)調用時,給形參分配內存空間,并用實參來初始化形參(直接將實參的值傳遞給形參)。這一過程是參數(shù)值的單向傳遞過程,一旦形參獲得了值便與實參脫離關系,此后無論形參發(fā)生了怎樣的改變,都不會影響到實參。引用調用將引用作為形參,在執(zhí)行主調

38、函數(shù)中的調用語句時,系統(tǒng)自動用實參來初始化形參。這樣形參就成為實參的一個別名,對形參的任何操作也就直接作用于實參。 3-4 什么叫內聯(lián)函數(shù) ?它有哪些特點?解:定義時使用關鍵字 inline的函數(shù)叫做內聯(lián)函數(shù);編譯器在編譯時在調用處用函數(shù)體進行替換,節(jié)省了參數(shù)傳遞、控制轉移等開銷;內聯(lián)函數(shù)體內不能有循環(huán)語句和 switch語句;內聯(lián)函數(shù)的定義必須出現(xiàn)在內聯(lián)函數(shù)第一次被調用之前;對內聯(lián)函數(shù)不能進行異常接口聲明; 3-5 函數(shù)原型中的參數(shù)名與函數(shù)定義中的參數(shù)名以及函數(shù)調用中的參數(shù)名必須一致嗎?解:不必一致,所有的參數(shù)是根據(jù)位置和類型而不是名字來區(qū)分的。 3-6 重載函數(shù)時通過什么來區(qū)分?解:重載的

39、函數(shù)的函數(shù)名是相同的,但它們的參數(shù)的個數(shù)和數(shù)據(jù)類型不同,編譯器根據(jù)實參和形參的類型及個數(shù)的最佳匹配,自動確定調用哪一個函數(shù)。 3-7 編寫函數(shù),參數(shù)為兩個 unsigned short int型數(shù),返回值為第一個參數(shù)除以第二個參數(shù)的結果,數(shù)據(jù)類型為 short int;如果第二個參數(shù)為 0,則返回值為-1。在主程序中實現(xiàn)輸入輸出。解:源程序: #include if (b = 0) return -1; else return a/b; typedef unsigned short int ushort; typedef unsigned long int ulong; int main()

40、ushort one, two; short int answer; cout one; cout two; answer = divider(one, two); if (answer -1) cout answer: answer; else cout error, cant divide by zero!; return 0; 程序運行輸出: enter two numbers. number one:8 number two:2 answer: 4 3-8 編寫函數(shù)把華氏溫度轉換為攝氏溫度,公式為: c = (f - 32) * 5/9;在主程序中提示用戶輸入一個華氏溫度,轉化后輸出相

41、應的攝氏溫度。解:源程序見實驗指導部分實驗三 3-9 編寫函數(shù)判斷一個數(shù)是否是質數(shù),在主程序中實現(xiàn)輸入、輸出。解:#include int prime(int i); /判一個數(shù)是否是質數(shù)的函數(shù) void main() int i; cout i; if (prime(i) cout i 是質數(shù). endl; else cout i 不是質數(shù). endl; int prime(int i) int j,k,flag; flag = 1; k = sqrt(i); for (j = 2; j = k; j+) if(i%j = 0) flag = 0; break; if (flag) return 1; else return 0; 程序運行輸出:請輸入一個整數(shù):1151 1151是質數(shù). 3-10編寫函數(shù)求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。解:源程序: #include int fn1(int i,int j); /求最大公約數(shù)的函數(shù) void main() int i,j,x,y; cout i ; cout j ; x =

溫馨提示

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

評論

0/150

提交評論