免費試讀

版權(quán)使用警告:本內(nèi)容由圣才電子書提供,付費購買閱讀后,僅供個人或單位內(nèi)部學(xué)習(xí)、參考,不能作為商業(yè)用途使用

文檔簡介

第1章程序設(shè)計和C語言1編寫一個C程序,運行時輸出HelloWorld!這個程序是一些國外C教材中作為第一個程序例子介紹的,一般稱為Hello程序。答:程序如下:2編寫一個C程序,運行時輸出以下圖形:答:程序如下:3編寫一個C程序,輸入a,b,c三個值,輸出其中值最大者。答:程序如下:運行結(jié)果:pleaseinputa,b,c:1,10,3Thelagestnumberis:10

第2章算法——程序的靈魂

 

1試述3種基本結(jié)構(gòu)的特點,請另外設(shè)計兩種基本結(jié)構(gòu)(要符合基本結(jié)構(gòu)的特點)。

答:3種基本結(jié)構(gòu)的特點:

①只有一個入口。

②只有一個出口。

③結(jié)構(gòu)內(nèi)的每一部分都有機會被執(zhí)行到。即對每一個框來說,都應(yīng)當(dāng)有一條從入口到出口的路徑通過它。

④結(jié)構(gòu)內(nèi)不存在“死循環(huán)”。

另外兩種基本結(jié)構(gòu)如圖2-1所示。

圖2-1另外兩種基本結(jié)構(gòu)圖

 

2用傳統(tǒng)流程圖表示求解以下問題的算法。

(1)有兩個瓶子A和B,分別盛放醋和醬油,要求將它們互換(即A瓶原來盛醋,現(xiàn)改盛醬油,B瓶則相反)。

答:顯然,如果只有兩個瓶子,肯定不能完成此任務(wù),必須有一個空瓶C作為過渡,A瓶與B瓶互換的流程圖如圖2-2。

圖2-2A瓶與B瓶互換流程圖

 

(2)依次將10個數(shù)輸入,要求輸出其中最大的數(shù)。

答:求解10個數(shù)中最大數(shù)的流程圖如圖2-3所示。

圖2-3求解10個數(shù)中最大數(shù)的流程圖

 

(3)有3個數(shù)a,b,c,要求按大小順序把它們輸出。

答:將3個數(shù)大小輸出的流程圖如圖2-4所示。

圖2-43個數(shù)大小輸出的流程圖

 

 

(4)求1+2+3+…+100。

答:求1+2+3+…+100的流程圖如圖2-5所示。

圖2-51到100累加的流程圖

 

(5)判斷一個數(shù)n能否同時被3和5整除。

答:判斷一個數(shù)n能否同時被3和5整除的流程圖如圖2-6所示。

圖2-6判斷一個數(shù)能否被3和5整除的流程圖

 

(6)將100~200之間的素數(shù)輸出。

答:輸出100~200之間素數(shù)的流程圖如圖2-7所示。

圖2-7找出100~200之間素數(shù)的流程圖

 

(7)求兩個數(shù)m和n的最大公約數(shù)。

答:求兩個數(shù)m和n最大公約數(shù)的流程圖如圖2-8所示。

圖2-8求兩個數(shù)最大公約數(shù)的流程圖

 

(8)求方程式ax2+bx+c=0的根。分別考慮:

①有兩個不等的實根;

②有兩個相等的實根。

答:求方程式ax2+bx+c=0根的流程圖如圖2-9所示。

圖2-9求一元二次方程根的流程圖

 

3用N-S圖表示第2題中各題的算法。

答:(1)A瓶與B瓶互換的N-S流程圖如圖2-10所示。

圖2-10A瓶與B瓶互換的N-S流程圖

(2)求解10個數(shù)中最大數(shù)的N-S流程圖如圖2-11所示。

圖2-11求解10個數(shù)中最大數(shù)的N-S流程圖

(3)將3個數(shù)大小輸出的N-S流程圖如圖2-12。

圖2-12將3個數(shù)大小輸出的N-S流程圖

(4)求1+2+3+…+100的N-S流程圖如圖2-13所示。

圖2-13求1+2+3+…+100的N-S流程圖

(5)判斷一個數(shù)n能否同時被3和5整除的N-S流程圖如圖2-14所示。

圖2-14判斷一個數(shù)n能否同時被3和5整除的N-S流程圖

(6)輸出100~200之間素數(shù)的流程圖如圖2-15所示。

圖2-15輸出100~200之間素數(shù)的N-S流程圖

(7)求兩個數(shù)m和n最大公約數(shù)的流程圖如圖2-16所示。

圖2-16求兩個數(shù)m和n最大公約數(shù)的N-S流程圖

(8)求方程式ax2+bx+c=0根的流程圖如圖2-17所示。

圖2-17求一元二次方程根的N-S流程圖

 

4用偽代碼表示第2題中各題的算法。

答:(1)A瓶與B瓶互換的偽代碼為:

c=a

a=b

b=c

(2)求解10個數(shù)中最大數(shù)的偽代碼為:

n=1

inputmax

whilen<10do

  inputa

  ifa>maxthenmax=a

  n=n+1

enddo

printmax

 

(3)將3個數(shù)大小輸出的偽代碼為:

inputa,b,c

ifa<bthenswapa,b

ifa<cthen

  printc,a,b

else

  ifc>bthen

    printa,c,b

  else

    printa,b,c

  endif

endif

 

(4)求1+2+3+…+100的偽代碼為:

sum=0

n=1

whilen<=100do

  sum=sum+n

  n=n+1

enddo

printsum

 

(5)判斷一個數(shù)n能否同時被3和5整除的偽代碼為:

inputn

flag=0

ifmod(n,3)≠0thenflag=-1

ifmod(n,5)≠0thenflag=-1

ifflag=0then

  printn"能被3和5整除"

else

  printn"不能被3和5整除"

endif

 

(6)輸出100~200之間素數(shù)的偽代碼為:

n=100

whilen<=200do

  i=2

  whilei<=sqrt(n)

    ifmod(n,i)=0then

      i=n

    else

      i=i+1

    endif

  enddo

  ifi<sqrt(n)thenprintn

  n=m+1

enddo

 

(7)求兩個數(shù)m和n最大公約數(shù)的偽代碼為:

inputm,n

ifm<nthenswapm,n

t=mod(m,n)

whiler≠0do

  m=n

  n=r

  r=mod(m,n)

enddo

printn

 

(8)求方程式ax2+bx+c=0根的偽代碼為:

inta,b,c

disc=b^2-4ac

ifdisc>=0then

  ifdisc=0then

    x1,x2=-b/(2a)

  else

    x1=(-b+sqrt(disc))/(2a)

    x2=(-b-sqrt(disc))/(2a)

  endif

  printx1,x2

else

  p=-b/(2a)

  q=sqrt(disc)/(2a)

  printp+q,"+","i"

endif

 

 

5用自頂向下、逐步細(xì)化的方法進(jìn)行以下算法的設(shè)計:

(1)輸出1900~2000年中是閏年的年份,符合下面兩個條件之一的年份是閏年:

①能被4整除但不能被100整除;

②能被100整除且能被400整除。

答:先畫出圖2-18(a),對它細(xì)化得圖2-18(b);對圖2-18(b)中的S1.1細(xì)化得圖2-18(c)。

圖2-18輸出1900~2000中閏年的流程圖

 

(2)求ax2+bx+c=0的根。分別考慮d=b2-4ac大于0、等于0和小于0這3種情況。

答:先畫出圖2-19(a),對其中的S3細(xì)化為圖2-19(b);對圖2-19(b)中的S3.1細(xì)化為圖2-19(c);對圖2-19(c)中的S3.1.1細(xì)化為圖2-19(d);對圖2-19(c)中的S3.1.2細(xì)化為2-19(e),對圖2-19(b)中S3.2細(xì)化為圖2-19(f)。

圖2-19求ax2+bx+c=0根的流程圖

 

(3)輸入10個數(shù),輸出其中最大的一個數(shù)。

答:先初步畫出圖2-

溫馨提示

  • 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

提交評論