freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言程序設(shè)計(jì)第五版習(xí)題答案解析(編輯修改稿)

2024-07-16 14:02 本頁面
 

【文章內(nèi)容簡介】 int a=3,b=8,c=9,d=2,e=4。 int min。 min=(ab)? a:b。min=(minc)? min:c。 min=(mind)? min:d。min=(mine)? min:e。 printf(Min is%d\n,min)。 }【分析與提示】本題程序的功能為:找出a,b,c,d,e中最小的值并輸出。【解答】Min is 2 2.若輸入3,4回車,下列程序運(yùn)行的運(yùn)行結(jié)果為 ;若輸入4,3回車,下列程序運(yùn)行的運(yùn)行結(jié)果為 。includemain(){ int a,b,c。 printf(Input a,b: )。 scanf(%d,%d,amp。a,amp。b)。 if(a=b) {c=a*b。 printf(%d*%d=%d\n,a,b,c)。} else {c=a/b。 printf(%d/%d=%d\n,a,b,c)。}} 【分析與提示】本題程序的功能為:從鍵盤輸入變量a,b,計(jì)算c的值(若a=b,則c=a*b,若ab則c=a/b),并輸出a,b,c的值?!窘獯稹?/4=0 ; 4*3=123.下列程序運(yùn)行的運(yùn)行結(jié)果為 。include main() { int x=1,y=0,a=0,b=0。 switch(x){ case 1: switch(y) {case 0: a++。 break。 case 1: b++。 break。 } case 2: a++。 b++。 break。 } printf(a=%d,b=%d\n,a,b)。 }【分析與提示】本題中case 1:后面是一個(gè)switch語句,執(zhí)行完該語句后,直接執(zhí)行case 2:后面的語句?!窘獯稹縜=2,b=1三.編程題 1.輸入一個(gè)字母,若為小寫,則把它變成大寫輸出。 【分析與提示】小寫字母的ASCII碼值與其對應(yīng)的大寫字母的ASCII碼值相差32。參考代碼:main( ){char c。printf(請輸入一個(gè)字母\n) 。scanf(%c, amp。c)。if(c=’a’amp。amp。c=’z’)c=c32。printf(%c\n,c) 。}2. 企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(I)低于或等于10萬元時(shí),獎金可提10%;利潤高于10萬元,低于20萬元時(shí),低于10萬元的部分按10%提成,高于10萬元的部分,%;20萬到40萬之間時(shí),高于20萬元的部分,可提成5%;40萬到60萬之間時(shí)高于40萬元的部分,可提成3%;60萬到100萬之間時(shí),高于60萬元的部分,%,高于100萬元時(shí),超過100萬元的部分按1%提成,從鍵盤輸入當(dāng)月利潤I,求應(yīng)發(fā)放獎金總數(shù)?【分析與提示】請利用數(shù)軸來分界,定位。注意定義時(shí)需把獎金定義成長整型?!     ?參考代碼:main(){long int i。 int bonus1,bonus2,bonus4,bonus6,bonus10,bonus。 scanf(%ld,amp。i)。 bonus1=100000*。bonus2=bonus1+100000*。 bonus4=bonus2+200000*。 bonus6=bonus4+200000*。 bonus10=bonus6+400000*。 if(i=100000)  bonus=i*?!lse if(i=200000)     bonus=bonus1+(i100000)*。    else if(i=400000)        bonus=bonus2+(i200000)*。       else if(i=600000)           bonus=bonus4+(i400000)*?!         lse if(i=1000000)              bonus=bonus6+(i600000)*?!            lse              bonus=bonus10+(i1000000)*。 printf(bonus=%d,bonus)。 }3.由鍵盤輸入三個(gè)整數(shù)a、b、c,用條件運(yùn)算符求出其中最大值和最小值?!痉治雠c提示】首先比較輸入的a,b 的大小,并把大數(shù)裝入max, 小數(shù)裝入min 中,然后再與c 比較,若max 小于c,則把c 賦予max;如果c 小于min,則把c 賦予min。因此max 內(nèi)總是最大數(shù),而min 內(nèi)總是最小數(shù)。最后輸出max 和min 的值即可。參考代碼:main( ){ int a,b,c,max,min。scanf(%d,%d,%d, amp。a,amp。b,amp。c)。max=ab?a:b 。max=maxc?max:c。min=ab?a:b。min=minc?min:c。printf(最大值為:%d,最小值為:%d\n,max,min) 。}4.有一函數(shù): x (x1) y= 2x1 (1≤x10) 3x11 (x≥10)編一程序,輸入一個(gè)x值,輸出y值。 【分析與提示】本題考查if語句的嵌套,應(yīng)當(dāng)注意if與else的配對關(guān)系。從最內(nèi)層開始,else總是與它上面最近的(未曾配對的)if 配對。參考代碼: main( ){float x,y。printf(請輸入x的值 \n) 。scanf(%f, amp。x)。if(x1) y=x。else if(x=10) y=3*x11。else y=2*x1。printf(x=%,y=%,x,y) 。}5.從鍵盤上輸入星期號,并顯示該日期的英文名字。【分析與提示】本實(shí)例知識點(diǎn):switch語句。switch語句的控制流程是:首先計(jì)算表達(dá)式的值,然后依次與每一個(gè)case中的常量值進(jìn)行比較,一旦發(fā)現(xiàn)了某個(gè)能夠匹配的值,就執(zhí)行該case后面的語句組,直到遇到break語句為止。如果表達(dá)式的值與所有case中的常量都不匹配,則執(zhí)行default后面的語句組。參考代碼:main( ){int xqh。char ywm。 printf(請輸入星期號(1~7):\n)。scanf(%d,amp。xqh)。switch(xqh){ case 1: printf(Monday)。 break。 case 2: printf(Tuesday)。 break。 case 3: printf(Wednesday)。 break。 case 4: printf(Thursday)。 break。 case 5: printf(Friday)。 break。 case 6: printf(Saturday)。 break。case 7: printf(Sunday)。 break。 default:printf(error)。} }6.某市不同車牌的出租車3公里的起步價(jià)和計(jì)費(fèi)分別為:夏利7元/公里,;富康8元/公里,;桑塔納9元。編程:從鍵盤輸入乘車的車型及行車公里數(shù),輸出應(yīng)付車資。【分析與提示】可設(shè)三個(gè)變量,分別表示乘車的車型、行車公里數(shù)和應(yīng)付車資,根據(jù)乘車的車型和行車公里數(shù),計(jì)算出應(yīng)付的車資。參考代碼:main( ){int cx。 /*定義乘車的車型變量cx */ float gl, cf。 /*定義行車公里數(shù)變量gl、應(yīng)付車資變量cf */printf(\t1夏利\n \t2富康\n \t3桑塔納\n)。printf(\t請輸入車型(13): )。scanf(%d,amp。cx)。printf(\n\t請輸入行車公里數(shù): )。scanf(%f,amp。gl)。switch(cx){ case 1: if(gl=3) cf=。else cf=7+(gl3)* 。break。 case 2: if(gl=3) cf=。else cf=8+(gl3)* 。break。 case 3: if(gl=3) cf=。else cf=9+(gl3)* 。 }printf(應(yīng)付車資為%.1f\n,cf)。} 7.給一個(gè)不多于5位的正整數(shù),要求:①求出它是幾位數(shù)。②分別打印出每一位數(shù)字;③按逆序打印出各位數(shù)字。如原數(shù)為12345,則逆序?yàn)?4321。【分析與提示】本題的思路是:設(shè)5個(gè)變量,分別代表個(gè)位、十位、百位、千位和萬位。從個(gè)位起,依次將各個(gè)位取出來,按取出的順序組合成新的數(shù)據(jù),并記錄當(dāng)前取出的數(shù)字的個(gè)數(shù)。參考代碼:include main( ){unsigned x,m,n=0,w=0。unsigned ge=0,shi=0,bai=0,qian=0,wan=0。printf(請輸入一個(gè)正整數(shù))。scanf(%u,amp。x)。m=x。ge=m%10。 m=m/10。 w=1。 n=ge。if(m) {shi=m%10。 m=m/10。 w=2。 n=n*10+shi。 if(m) {bai=m%10。 m=m/10。 w=3。 n=n*10+bai。 if(m) {qian=m%10。 m=m/10。 w=4。 n=n*10+qian。 if(m) {wan=m。 w=5。 n=n*10+wan。} } } }printf(\n%u為%u位數(shù),n,w)。printf(\n正整數(shù)的原序?yàn)椋?u,x)。printf(\n正整數(shù)的逆序?yàn)椋?u,n)。}注:當(dāng)該程序輸入一個(gè)較大的5位數(shù)時(shí),輸出結(jié)果就不正確了,思考為什么?動手試一下怎樣修改該程序。第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)一、填空題1.下面程序的功能是用“輾轉(zhuǎn)相除法”求兩個(gè)正整數(shù)的最大公約數(shù)。請?zhí)羁铡? include main() { int r,m,n。 scanf(%d%d,amp。m,amp。n)。 if(mn) (1) 。 r=m%n。 while(r){m=n。n=r。 (2) 。} printf(%d\n,n)。 }【分析與提示】輾轉(zhuǎn)相除法:兩數(shù)相除,若不能整除,則以除數(shù)作為被除數(shù),余數(shù)作為除數(shù),繼續(xù)相除,直到余數(shù)為0時(shí),當(dāng)前除數(shù)就是最大公約數(shù)。 【解答】(1)r=m。m=n。n=r。 (2)r=m%n。二.運(yùn)行程序?qū)懡Y(jié)果1.下列程序運(yùn)行的運(yùn)行結(jié)果為 。include main() {int y=10。do{y。 }while(y)。 printf(%d,y)。}【分析與提示】注意 y 與y的運(yùn)算順序?!窘獯稹?02.下列程序運(yùn)行的運(yùn)行結(jié)果為 。main(){ int x=3,y=6,z=2。 while(x++!=(y=1)){ z+=1。if(yx)break。printf(“%d,%d,%d\n”,x,y,z)。}}【解答】4,5,33.下列程序運(yùn)行的運(yùn)行結(jié)果為 。main(){ int a=1,b=0。 for(a3a++)switch(a++){case 1:b。case 2:b++。case 3:b+=3。break。}printf(“%d\n”,b)。}【解答】34.下列程序運(yùn)行的運(yùn)行結(jié)果為 。main(){ int x=10,y=10,i。 for(i=0。i2y=i++)printf(“%4d%4d”,x,y)。}【解答】10 10 9 0三. 編程題=1+2+4+8+…+64的值?!痉治雠c提示】本題為數(shù)學(xué)項(xiàng)求和問題,數(shù)學(xué)項(xiàng)間的關(guān)系為:第n項(xiàng)的值為第n1項(xiàng)的值2倍。參考代碼:main( ){ int i,s=0,t=1。 while(t=64) { s=s+t。 t=2*t。 } printf(s=%d\n,s)。 }=1+1/2+1/3+…+1/100的值?!痉治雠c提示】本題為分?jǐn)?shù)數(shù)學(xué)項(xiàng)求和問題,要想得到每一項(xiàng)的正確結(jié)果,分式中的分子、分母至少要有一個(gè)為實(shí)型數(shù)據(jù)。參考代碼:main( ) {int i。 float s=0,t。 for(i=1。i=100。i++) { t=。s=s+t。 } printf(s=%.2f\n,s)。 } =1!+2!+3!+…+10!的值。【分析與提示】本題為數(shù)學(xué)項(xiàng)求和問題,數(shù)學(xué)項(xiàng)間的關(guān)系為:第n項(xiàng)的值為第n1項(xiàng)的n倍。參考代碼: main( ) {long int t=0,tn=1。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1