C程序設計譚浩強習題與答案_第1頁
C程序設計譚浩強習題與答案_第2頁
C程序設計譚浩強習題與答案_第3頁
C程序設計譚浩強習題與答案_第4頁
C程序設計譚浩強習題與答案_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

與答案精編2.1什么是算法是從日常生活中找三個例子,描述他們的算法答:對操作的描述,即操作步驟,就是算法。廣義的說;為解決一個問題而采取的方法和步驟,就稱為例:(略)2.2什么叫結構化的算法為什么要提倡結構化的算法答:由基本節(jié)構所構成的算法屬于“結構化”的算法。結構化的算法便于編寫、閱讀、便于修改和維護。這就減少了程序出錯的機會、提高了程序的可靠性,保證了程序2.3試述三種基本結構的特點,你能否自己另外設計兩種基本結構(要符合基本結構的特點)。答:基本結構有以下共斷框有兩個出口,但一個選擇結構只有一個出口。不能混3:結構內的每一部分都有被執(zhí)行到的機會。也就是說,對每一個框來說,都應當有一條到出口的路徑通過它。圖4:結構內不存在死循環(huán)(無終止的循環(huán))。圖2-21就是需要說明的是基本結構并不一定只限于以上3中,只要有點就可以。人們可以自己定義之。例:如下兩圖2.4用傳統(tǒng)流程圖表示求解一下問題的算法。#include<>voidmain(){inta;intb;intc;a=10;b=5;printf("%d,%d\n",a,b);c=a;a=b;b=c;printf("%d,%d\n",a,b);}#include<>voidmain(){inta[10];inti;intmax;printf("input10numbers.\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n");max=a[0];for(i=1;i<10;i++)if(max<a[i])max=a[i];printf("themaxis:%d\n",max);}#include<>voidmain(){inta;intb;intc;intt;scanf("%d%d%d",&a,&b,&c);printf("\n");printf("thefirstnumbers:");printf("%d,%d,%d\n",a,b,c);if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(b<c){t=b;b=c;c=t;}printf("thechangednumbers:");printf("%d,%d,%d\n",a,b,c);}#include<>voidmain(){inti;intsum=0;for(i=1;i<=100;i++)sum=sum+i;printf("thesumis:%d\n",sum);}#include<>voidmain(){inti;printf("inputi\n");scanf("%d",&i);if(i%3==0&&i%5==0)printf("%disok!\n",i);elseprintf("%dcannot!\n",i);}#include<>voidmain(){inti,j;for(i=100;i<=200;i++)for(j=2;j<i;j++){if(i%j==0)break;if(i==j+1)printf("%d\n",i);}}#include<>voidmain(){intm,n;intt;inti;intz=1;scanf("%d%d",&m,&n);if(m>n){t=m;m=n;n=t;}for(i=2;i<=m;i++){if(m%i==0&&n%i==0)z=i;}printf("theansweris:%d\n",z);}(8)求方程式ax2+bx+c=0的根。分別考慮:①有兩個不等的實根;②有兩個相等的實根。#include<>#include<>voidmain()oatatoatoata,b,c;m,n;x1,x2;printf("inputa,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(dt<=1e-6){x1=m;x2=m;printf("theequationhastwoequalroots:x1=%f,x2=%f\n",x1,x2);}if(dt>1e-6){x1=m+n;x2=m-n;printf("theequationhasdistinctrealroots:x1=%f,x2=%f\n",x1,x2);}}再次說明一下由于我們考慮了實數(shù)在內,而實數(shù)在計算 (1)輸出年中是閏年的年份,符合下面?zhèn)z個條件之一的年份是閏年。(一)能被4整除但不能被100整除(二)能#include<>voidmain(){inti;for(i=1900;i<=2000;i++){if(i%4==0&&i%100)printf("%d\n",i);elseif(i%400==0)printf("%d\n",i);}}2.7什么叫結構化程序設計他的主要內容是什么答:結構化程序設計是進行以模塊功能和處理過程設計為主的詳細設計的基本原則。它用基本結構(一般認為是3種:順序、選擇和循環(huán))為基本思想設計的程序。這種程序便于編寫、便于閱讀、便于修改和維護。這就減少了程序出錯的機會,提高了程序的可靠性,保證了程序的質它的主要內容為:把一個復雜問題的求解過程分階段進行,每個階段處理的問題都控制在人們容易理解和處理的具體說:采用以下方法來保證得到結構化的程序: (1)自頂向下(2)逐步細化(3)模塊化設計(4)結構化結構化程序的概念首先是從以往編程過程語句而提出的。轉移語句可以使程序的控制流程強制性的轉向程序的任一處,在傳統(tǒng)流程圖的流程線來描述轉移功能。如果一個程序中多處出現(xiàn)這種轉移情況,將會導致程序流程無序可尋,程序結構雜亂無章,這樣的程序是令人難以理解和接受2.8用自頂向下、逐步細化的方法進行以下算法的設計:#include<>voidmain(){inti;for(i=1900;i<=2000;i++){if(i%4==0&&i%100)printf("%d\n",i);elseif(i%400==0)printf("%d\n",i);}}#include<>#include<>voidmain(){floata,b,c;floatdt;floatm,n;floatx1,x2;printf("inputa,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/(2*a);x2=-b/(2*a);printf("theequationhastwoequalroots:x1=x2=%f\n",x1);}elseif(dt>1e-6){x1=(-b+sqrt(dt))/(2*a);x2=(-b-sqrt(dt))/(2*a);printf("theequationhasdistinctrealroots:x1=%f,x2=%f\n",x1,x2);}else{m=(-b)/(2*a);n=sqrt(-dt)/(2*a);printf("theequationhascomplexrealroots:\nx1=%f+%fi\n",m,n);printf("x2=%f-%fi\n",m,n);#include<>voidmain(){int

溫馨提示

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

評論

0/150

提交評論