![.c程序設(shè)計譚浩強第二章習題與答案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/20/514cddba-7459-4e24-83ca-157face1baa7/514cddba-7459-4e24-83ca-157face1baa71.gif)
![.c程序設(shè)計譚浩強第二章習題與答案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/20/514cddba-7459-4e24-83ca-157face1baa7/514cddba-7459-4e24-83ca-157face1baa72.gif)
![.c程序設(shè)計譚浩強第二章習題與答案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/20/514cddba-7459-4e24-83ca-157face1baa7/514cddba-7459-4e24-83ca-157face1baa73.gif)
![.c程序設(shè)計譚浩強第二章習題與答案_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/20/514cddba-7459-4e24-83ca-157face1baa7/514cddba-7459-4e24-83ca-157face1baa74.gif)
![.c程序設(shè)計譚浩強第二章習題與答案_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/20/514cddba-7459-4e24-83ca-157face1baa7/514cddba-7459-4e24-83ca-157face1baa75.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2.4點)。習題2.1 答:什么是算法?是從日常生活中找三個例子,描述他們的算法? 對操作的描述,即操作步驟,就是算法。 廣義的說;為解決一個問題而采取的方法和步驟,就稱為“算法 ”。例:2.2 答:(略)什么叫結(jié)構(gòu)化的算法?為什么要提倡結(jié)構(gòu)化的算法? 由基本節(jié)構(gòu)所構(gòu)成的算法屬于 “結(jié)構(gòu)化 ”的算法。結(jié)構(gòu)化的算法便于編寫、閱讀、便于修改和維護。這就減少了程序出錯的機會、提高了 程序的可靠性,保證了程序的質(zhì)量。2.3試述三種基本結(jié)構(gòu)的特點,你能否自己另外設(shè)計兩種基本結(jié)構(gòu)(要符合基本結(jié)構(gòu)的特(a) while5?(b) until5J圖2-17循環(huán)結(jié)構(gòu):;:汁1:只有一個入口。圖 2-142-17
2、 中的 a 點為入口。2:只有一個出口。圖 2-142-17 中的 b 點為出口。注意,一個判斷框有兩個出口,但一個選擇結(jié)構(gòu)只有一個出口。不能混淆。3:結(jié)構(gòu)內(nèi)的每一部分都有被執(zhí)行到的機會。也就是說,對每一個框來說,都應(yīng)當有一條到出口的路徑通過它。圖 2-20 中就沒有一條從入口到出口的路徑通過 A 框。4:結(jié)構(gòu)內(nèi)不存在死循環(huán)(無終止的循環(huán)) 。圖 2-21 就是一個死循環(huán)。 需要說明的是基本結(jié)構(gòu)并不一定只限于以上3 中,只要有以上四種特點就可以。人們可以自己定義之。例 : 如下兩圖2.5 用傳統(tǒng)流程圖表示求解一下問題的算法。(1) 有兩個瓶子 A 和 B ,分別放醋和醬油,要求將他們互換。 #
3、includevoid main()int a;int b;int c;a=10;b=5;printf(%d,%dn,a,b);c=a;a=b;b=c;printf(%d,%dn,a,b);(2) 一次將 10 個數(shù)輸入,要求將將其中最大的數(shù)輸出。#includevoid main()int a10;int i;int max;printf(input 10 numbers.n);for(i=0;i10;i+)scanf(%d,&ai);printf(n);max=a0;for(i=1;i10;i+)if(maxai) max=ai;printf(the max is: %dn,max) ;(
4、3) 有 3 個數(shù) a b c,要求安大小順序把他們輸出。 #include void main()int a;int b;int c;int t;scanf(%d%d%d,&a,&b,&c); printf(n);printf(the first numbers:); printf(%d,%d,%dn,a,b,c);if(ab) t=a;a=b;b=t; if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(the changed numbers:); printf(%d,%d,%dn,a,b,c);(4) 求 1+2+3+ +100 。#includevoi
5、d main()int i;int sum=0; for(i=1;i=100;i+) sum=sum+i;printf(the sum is:%dn,sum);(5) 判斷一個數(shù) n 能否同時被 3 和 5 整除。#includevoid main()int i;printf(input in);scanf(%d,&i);if(i%3=0 & i%5=0)printf(%d is ok!n,i);elseprintf(%d can not!n,i);(6) 將 100200 之間的素數(shù)輸出。#includevoid main()int i,j;for(i=100;i=200;i+)for(j=
6、2;ji;j+)if(i%j=0) break;if(i=j+1) printf(%dn,i);(7) 求兩個數(shù) m 和 n 的最大公約數(shù)。#includevoid main()int m,n;int t;int i;int z=1;scanf(%d%d,&m,&n);if(mn) t=m;m=n;n=t;for(i=2;i=m;i+)if(m%i=0 & n%i=0) z=i;printf(the answer is:%dn,z);2;有兩個相等(8) 求方程式 a x bx c 0 的根。分別考慮:有兩個不等的實根 的實根。#include#includevoid main()float
7、a,b,c;float dt;float m,n;float x1,x2;printf(input a,b,c!n);scanf(a=%f,b=%f,c=%f,&a,&b,&c);dt=sqrt(b*b-4*a*c);m=-b/(2*a);n=dt/(2*a);if(dt1e-6)x1=m+n;x2=m-n;printf(the equation has distinct real roots:x1=%f, x2=%fn,x1,x2); 再次說明一下由于我們考慮了實數(shù)在內(nèi), 而實數(shù)在計算和存儲時有細小誤差, 所以 dt=0 用 dt=1e-6 表示。即 10 的 -6 次方。2.5 用 N-S
8、 圖表示 2.4 題中各題的算法。2.6 用偽代碼表示 2.4 題中各題的算法。(1)輸出 19002000 年中是閏年的年份,符合下面?zhèn)z個條件之一的年份是閏年。 (一)能被 4 整除但不能被 100 整除 (二)能被 100 整除且能被 400 整除。#includevoid main()int i;for(i=1900;i=2000;i+)if(i%4=0 & i%100) printf(%dn,i);else if(i%400=0) printf(%dn,i);2.7 什么叫結(jié)構(gòu)化程序設(shè)計?他的主要內(nèi)容是什么? 答:結(jié)構(gòu)化程序設(shè)計是進行以模塊功能和處理過程設(shè)計為主的詳細設(shè)計的基本原則。
9、它用基 本結(jié)構(gòu)(一般認為是 3 種:順序、選擇和循環(huán)) 為基本思想設(shè)計的程序。 這種程序便于編寫、保證了程便于閱讀、 便于修改和維護。這就減少了程序出錯的機會,提高了程序的可靠性, 序的質(zhì)量。它的主要內(nèi)容為:把一個復雜問題的求解過程分階段進行,每個階段處理的問題都控 制在人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。具體說:采用以下方法來保證得到結(jié)構(gòu)化的程序:( 1)自頂向下( 2)逐步細化( 3)模塊化設(shè)計 (4)結(jié)構(gòu)化編碼。 拓展:結(jié)構(gòu)化程序的概 念首先是從以往編程過程中無限制地使用轉(zhuǎn)移語句而提出的。 轉(zhuǎn)移語句可以使程序的控制流 程強制性的轉(zhuǎn)向程序的任一處,在傳統(tǒng)流程圖中,用很隨意 的流程線來描述轉(zhuǎn)移功能。
10、如果一個程序中多處出現(xiàn)這種轉(zhuǎn)移情況, 將會導致程序流程無序可尋, 程序結(jié)構(gòu)雜亂無章, 這 樣的程序是令人難以理解和接受的,并且容易出錯。2.8 用自頂向下、逐步細化的方法進行以下算法的設(shè)計:(1) 輸出 1900-2000 年中是閏年的年份, 符合下面兩個條件之一的年份是閏年。 能被4 整除但不能被 100 整除;能被 100 整除切能被 400 整除。 #include void main()int i;for(i=1900;i=2000;i+)if(i%4=0 & i%100) printf(%dn,i);else if(i%400=0) printf(%dn,i);2(2) 求 a x
11、bx c 0 的根。分別考慮2D=b 4ac大于 0、等于 0、小于 0這 3種情況。#include#includevoid main()float a,b,c;float dt;float m,n;float x1,x2;printf(input a,b,c!n); scanf(a=%f,b=%f,c=%f,&a,&b,&c);dt=b*b-4*a*c;if(fabs(dt)1e-6) x1=(-b+sqrt(dt)/(2*a);x2=(-b-sqrt(dt)/(2*a);printf(the equation has distinct real roots:x1=%f, x2=%fn,x1,x2); elsem=(-b)/(2*a);n=sqrt(-dt)/(2*a);printf(the equation has complex real roots:nx1=%f+%fin,m,n);printf(x2=%f-%fin,m,n);(3) 輸入 10 個數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人抵押貸款合同季度范本
- 臨街店鋪購買合同范本
- 二次供水設(shè)備采購合同
- 專業(yè)服裝管理軟件經(jīng)銷合同書
- 上海市股權(quán)轉(zhuǎn)讓合同標準范本
- 二手房銷售代理合同協(xié)議
- 中外合作種植戰(zhàn)略合作合同
- 云計算服務(wù)提供商數(shù)據(jù)保密合同
- 返聘人員協(xié)議書
- IT行業(yè)員工培訓勞動合同范本
- 【大學課件】機電設(shè)備管理技術(shù)概論
- (2024)甘肅省公務(wù)員考試《行測》真題及答案解析
- 醫(yī)院醫(yī)務(wù)人員醫(yī)德考評標準
- 小紅書種草營銷師(初級)認證考試真題試題庫(含答案)
- 癲癇病人的護理(課件)
- 企業(yè)資產(chǎn)管理培訓
- 2024年WPS計算機二級考試題庫350題(含答案)
- 2024年4月27日浙江省事業(yè)單位招聘《職業(yè)能力傾向測驗》試題
- 2024年6月浙江省高考地理試卷真題(含答案逐題解析)
- 醫(yī)院培訓課件:《如何撰寫護理科研標書》
- 河南省鄭州市2023-2024學年高二上學期期末考試 數(shù)學 含答案
評論
0/150
提交評論