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

正文內(nèi)容

c語(yǔ)言程序設(shè)計(jì)課后習(xí)題詳細(xì)答案-文庫(kù)吧

2025-06-13 07:58 本頁(yè)面


【正文】 條件,就可斷定當(dāng)前的日期沒(méi)有超過(guò)生日日期,就是說(shuō)學(xué)生的年齡應(yīng)當(dāng)是age=y1y01。以上3條,用C語(yǔ)言可以描述如下:if((m1m0)[JB1|][JB1|](m1==m0amp。amp。d1=d0)) age=y1y0。else age=y1y01。讀者可以參考以上語(yǔ)句寫(xiě)出程序,也可以根據(jù)分析寫(xiě)出與此形式不同的語(yǔ)句和程序?!痉治雠c解答】(1) 若輸入的整數(shù)a是奇數(shù),輸出:odd number,是偶數(shù)輸出:even number。(2) 若一個(gè)a是偶數(shù),它就能被2除盡,即a%2==0,輸出even number;若是奇數(shù),它就不能被2除盡,即a%2!〖KG*2〗=0,輸出odd number。讀者可以參考以上給出的算法,寫(xiě)出相應(yīng)的C語(yǔ)句,并編寫(xiě)出完整的程序。 【分析與解答】本題的主要算法是從3個(gè)數(shù)中找出最大的那個(gè)數(shù)。假定始終把最大的數(shù)放在變量max中。(1) 假定a中的數(shù)最大,把a(bǔ)賦給max。(2) 用b去和max比較,若b大于max,則把b賦給max;若不大于max,則什么也不做。(3) 用c去和max比較,若c大于max,則把c賦給max;若不大于max,則什么也不做。(4) 經(jīng)過(guò)以上操作,max中已放入了a、b、c三個(gè)數(shù)中的最大數(shù),輸出max即可。讀者可以參考以上給出的算法,寫(xiě)出相應(yīng)的C語(yǔ)句,并編寫(xiě)出完整的程序。 【分析與解答】(1) 本題已給出了非常明確的條件,只要寫(xiě)出正確的條件判斷語(yǔ)句就可基本完成程序的編寫(xiě)。(2) 由給出的函數(shù)可知,只有x的值在規(guī)定的范圍內(nèi)時(shí),才求出y的值,因此程序應(yīng)當(dāng)對(duì)輸入的x進(jìn)行判斷,若超過(guò)范圍就不求y的值。(3) 現(xiàn)以使用if[CD*2]else語(yǔ)句為例寫(xiě)出程序供參考。main(){ int x,y。printf(″Enter x : ″)。 scanf(″%d″, amp。x)。if(x5amp。amp。x10){ if(x==0) y=x1。else if(x10 amp。amp。 x0 ) y=x+1。else if(x0 amp。amp。 x5) y=x。printf(″x=%d y=%d\n″, x,y)。}printf(″***END***\n\n″)。}第五章 循環(huán)結(jié)構(gòu)習(xí)題分析與解答一、選擇題 (單選題) 【參考答案】 D) 【參考答案】 C) 【參考答案】 B) 【參考答案】 C) 【參考答案】 C) 【參考答案】 B) 【參考答案】 D) 【參考答案】 A) 【參考答案】 D)【參考答案】 D)二、填空題 【參考答案】 [1] 5 [2] 4 [3] 6 【參考答案】 程序段無(wú)限循環(huán),沒(méi)有輸出結(jié)果 【參考答案】 1 【參考答案】 11 【參考答案】 [1] d= [2] k++ [3] k=n 【參考答案】 [1] x=0 [2] xamin三、編程題【分析與解答】(1) 本題的基本算法是求累加值。累加項(xiàng)的值有規(guī)律的遞增,每一項(xiàng)的絕對(duì)值比前一項(xiàng)增2,因此可以利用循環(huán)的控制變量的遞增來(lái)得到累加項(xiàng)的絕對(duì)值。例如:for( i=1。 i=101。 i+=2 )…(2) 按所給的算式可以看到,累加項(xiàng)的符號(hào)是在交叉改變的,為此應(yīng)當(dāng)在循環(huán)體內(nèi)設(shè)置一個(gè)變量,使它的符號(hào)按此規(guī)律交叉改變,這可用:s=s。來(lái)實(shí)現(xiàn),s的初值為1;當(dāng)s的值為1時(shí),賦值后s中新的值為1,當(dāng)s的值為1時(shí),賦值后s中新的值為1。用s去乘累加項(xiàng),將使累加項(xiàng)的符號(hào)也隨之有規(guī)律地改變。(3) 若累加和放在變量sum中,累加項(xiàng)放在變量t中,按照以上敘述,for循環(huán)體內(nèi)的語(yǔ)句可以設(shè)計(jì)如下:s=s。 t=s*i。 sum=sum+t。(4) sum的值是51。(5) 請(qǐng)讀者自己對(duì)變量做出正確的定義并賦初值,設(shè)計(jì)輸出語(yǔ)句,完善程序?!痉治雠c解答】(1) 本題的基本算法是求累加值。累加項(xiàng)的分子部分都是1;分母的值有規(guī)律的遞增,依次為1!、2!、…、n!,即,若第i1項(xiàng)的累加項(xiàng)為t(i1),則第i項(xiàng)的累加項(xiàng)是 t( i1)*i,在程序中可用表達(dá)式:t=t/i(i從1變化到n)來(lái)表示。(2) 根據(jù)以上分析,若用變量t來(lái)存放累加項(xiàng),當(dāng)i的值從1變化到n時(shí),可用以下語(yǔ)句來(lái)實(shí)現(xiàn)累加:t=t/i。 e+=t。(3) 為了實(shí)現(xiàn)累加過(guò)程,以上語(yǔ)句應(yīng)當(dāng)放在循環(huán)內(nèi),循環(huán)控制變量從1變化到n。(4) 若用for循環(huán),按題目要求已指定n的值是50。若用while循環(huán),并沒(méi)有指定n的值,但已指定了循環(huán)結(jié)束的條件,當(dāng)t的值小于104結(jié)束循環(huán)。(5) 現(xiàn)例示用while循環(huán)來(lái)求e值的部分程序:i=1。 e=。 t=。while( t=1e4 ){ t=t/i。e+=t。i++。}(6) 請(qǐng)讀者自己對(duì)變量做出正確的定義,設(shè)計(jì)輸出語(yǔ)句,完善程序;也可以參考此程序段,按照自己的思路獨(dú)立地完成程序。(7) e的值應(yīng)當(dāng)是:。(8) 根據(jù)以上分析,讀者已不難用for循環(huán)來(lái)實(shí)現(xiàn)求e值的計(jì)算。(9) 注意:在完成此程序時(shí),不要對(duì)分母中的階乘值進(jìn)行單獨(dú)計(jì)算,因?yàn)?7!的值已超過(guò)long類(lèi)型的最大值,更無(wú)法求到50!?!痉治雠c解答】(1) 從1880年至2000年的年數(shù)可用一個(gè)for循環(huán)來(lái)取得。(2) 對(duì)每一年,用以上指定的條件來(lái)進(jìn)行判斷,若滿(mǎn)足條件即為閏年,進(jìn)行輸出。(3) 按輸出的要求,需要設(shè)一個(gè)變量用于統(tǒng)計(jì)一行中輸出的個(gè)數(shù),若在一行上已連續(xù)輸出了5個(gè)年數(shù),就需輸出一個(gè)換行符,使下一個(gè)輸出項(xiàng)在新的一行上開(kāi)始;若用變量n來(lái)做此統(tǒng)計(jì),則當(dāng)表達(dá)式n%5==0時(shí)就應(yīng)輸出一個(gè)換行符,同時(shí)使n重新置0值。(4) 若變量y代表年數(shù),if語(yǔ)句的邏輯表達(dá)式可以寫(xiě)成如下:(y%4==0 amp。amp。 y%100!=0[JB1|][JB1|]y%400==0)(5) 以下程序段供參考:for ( y=1880。 y=2000。 y++ )if(y%4==0 amp。amp。 y%100![KG*2]=0[JB1|][JB1|]y%400==0){ printf(″%d ″,y)。n++。if(n%5==0){ printf(″\n″)。 n=0。 }}(6) 請(qǐng)讀者自己對(duì)變量做出正確的定義并賦初值,完善程序;也可以參考此程序段,按照自己的思路獨(dú)立地完成程序。從1880年至2000年有30個(gè)閏年。【分析與解答】(1) 不難理解利用以下的for循環(huán)可以在一行上連續(xù)輸出n個(gè)*號(hào):for(i=1。 i=n。 i++) printf(″*″)。printf(″\n″)。若n的值是6,則連續(xù)輸出6個(gè)*號(hào)。(2) 以上圖形是在各行上輸出數(shù)目不等的*號(hào),只是*號(hào)的數(shù)目依次有規(guī)律地變化。在上半部分各行依次是7個(gè),因此可以用以下的程序段來(lái)實(shí)現(xiàn)這樣的輸出:for(k=1。k=7。k++,k++){ for(i=1。i=k。 i++)printf(″*″)。printf(″\n″)。}在下半部依次是1個(gè);因此可以用以下的程序段來(lái)實(shí)現(xiàn)這樣的輸出:for(k=5。k=1。k,k){ for(i=1。i=k。 i++)printf(″*″)。printf(″\n″)。}以上程序段從第一列起輸出的結(jié)果如下:*************************現(xiàn)在我們已完成了在每行輸出指定數(shù)目的*號(hào)。(3) 輸出結(jié)果與題目要求不同,它們的區(qū)別是:按題目每一行之前有不同的空格,而這里則是所有的行都在第一列上開(kāi)始輸出*號(hào);所以接著就應(yīng)當(dāng)解決這一問(wèn)題。(4) 分析題目要求,每行第一個(gè)*號(hào)位置的縮進(jìn)是有規(guī)律的,假定中間這一行第一個(gè)*號(hào)位置是在第一列,則可看出,第一至第三行的縮進(jìn)分別是1個(gè)空格;而圖形下半部的縮進(jìn)數(shù)則剛好相反。這可在以上循環(huán)中添加輸出連續(xù)空格的for循環(huán)來(lái)實(shí)現(xiàn),對(duì)于上半部程序如下:b=3。for(k=1。k=7。k++,k++){ for(j=1。j=b。 j++)printf(″ ″)。b。for(i=1。i=k。 i++)printf(″*″)。printf(″\n″)。}(5) 請(qǐng)讀者在理解以上給出的示例的基礎(chǔ)上,自己添加下半部空格的輸出。第六章 字符型數(shù)據(jù)習(xí)題分析與解答一、選擇題【參考答案】 B)【參考答案】 D)【參考答案】 A)【參考答案】 A)【參考答案】 B)【參考答案】 D)【參考答案】 D)【參考答案】 B)【參考答案】 A)【參考答案】 A)【參考答案】 C)二、填空題【參考答案】 1【參考答案】 1【參考答案】 【參考答案】 0【參考答案】 10A 20B 30C 40DCR或: 10ACR20BCR30CCR40DCR【參考答案】 CR或: CRCR【參考答案】A CR【參考答案】ACRBCRCCR三、編程題【分析與解答】(1) 在進(jìn)行字符輸入時(shí),即使一次輸入了一行字符(最后用回車(chē)結(jié)束輸入),字符也只能一個(gè)一個(gè)地讀入。若ch已定義為char型變量,可以用以下的程序段來(lái)完成操作: ch=getchar()。while(ch![KG*2]=′\n′){ ……ch=getchar()。}當(dāng)讀入的是一個(gè)回車(chē)符時(shí),循環(huán)就結(jié)束。循環(huán)體內(nèi)的“……”符號(hào)表示需要在循環(huán)體內(nèi)完成的其他操作。(2) 在循環(huán)內(nèi)要求進(jìn)行的操作之一是:輸出每個(gè)字符以及與之對(duì)應(yīng)的ASCII代碼值。因此可用以下語(yǔ)句來(lái)實(shí)現(xiàn)。printf(″%c : %d ″,ch,ch)。(3) 在循環(huán)內(nèi)要求進(jìn)行的另一個(gè)操作是:每行只能輸出3對(duì)字符和與之對(duì)應(yīng)的ASCII代碼值。若n已定義為int型變量,則可用來(lái)作計(jì)數(shù)器;使n的初值為0,每輸出一次,n的值增1,當(dāng)n的值為3的整數(shù)倍時(shí),額外輸出一個(gè)換行符。例如:n++。if(n%3==0)putchar(′\n′)。(4) 把(2)和(3)中給出的語(yǔ)句放在循環(huán)體內(nèi),并按要求給出正確的定義和初值,就可完成題目所要求的操作。(5) 也可以在while后的一對(duì)括號(hào)中來(lái)完成字符的讀入,如while((ch=getchar())![KG*2]=′\n′)。這時(shí),循環(huán)內(nèi)、外的“ch=getchar()?!闭Z(yǔ)句應(yīng)當(dāng)去掉?!痉治雠c解答】(1) 一行字符的讀入,(1)和(5)中的解釋。循環(huán)體內(nèi)的“……”符號(hào)表示需要在循環(huán)體內(nèi)完成的其他操作。ch=getchar()。while(ch![KG*2]=′\n′){ ……ch=getchar()。}(2) 在本題中循環(huán)體內(nèi)需要把讀入的所有數(shù)字字符轉(zhuǎn)換成一個(gè)整數(shù)。若用變量n來(lái)存放這個(gè)整數(shù),為了保證有效的存放,應(yīng)當(dāng)把它定義成long類(lèi)型。(3) 要把輸入的一串?dāng)?shù)字字符轉(zhuǎn)換成一個(gè)整數(shù),首先需要判斷當(dāng)前讀入的字符是否是數(shù)字字符,若不是則什么也不做;若是,則進(jìn)行以下操作:① 把當(dāng)前讀入的一個(gè)字符轉(zhuǎn)換成一個(gè)一位整數(shù),這可由語(yǔ)句“d=ch′0′。 ”來(lái)實(shí)現(xiàn),在這里d是一個(gè)整型變量;② 把d中的一位數(shù)歸并到n的低位中,這可用語(yǔ)句“n=n*10+d。”來(lái)實(shí)現(xiàn)。這里所述的操作可由以下語(yǔ)句來(lái)完成:if(ch=′0′amp。amp。ch=′9′){ d=ch′0′。 n=n*10+d。 }if語(yǔ)句后一對(duì)括號(hào)中的判斷表達(dá)式可以調(diào)用字符函數(shù)isdigit來(lái)實(shí)現(xiàn):if( isdigit(ch) ) { d=ch′0′。 n=n*10+d。 }if子句的兩個(gè)語(yǔ)句可以合并成:n=n*10+ch′0′。(4) 把(3)中的語(yǔ)句放入循環(huán)中:ch=getchar()。while(ch![KG*2]=′\n′){ if(ch=′0′amp。amp。ch=′9′) n=n*10+ ch′0′。ch=getchar()。}(5) 請(qǐng)自己寫(xiě)出定義語(yǔ)句并賦初值。注意,最后輸出n時(shí),應(yīng)當(dāng)使用格式說(shuō)明%ld,而不能使用%d。【分析與解答】(1) 行數(shù)的統(tǒng)計(jì)可通過(guò)統(tǒng)計(jì)輸入的′\n′符的個(gè)數(shù)來(lái)完成。(2) 統(tǒng)計(jì)的過(guò)程應(yīng)當(dāng)放在一個(gè)while循環(huán)體中;判斷循環(huán)是否進(jìn)行的條件可以用:((ch=getchar())==EOF)。若用整型變量n作為計(jì)數(shù)器對(duì)′\n′符進(jìn)行統(tǒng)計(jì),只要讀入的字符是′\n′,則n增1。如:while((ch=getchar())![KG*2]=EOF)if(ch==′\n′)n++。(3) ,在TURBO C的環(huán)境下,鍵入Ctrl+Z(即按住鍵盤(pán)上的Ctrl鍵,同時(shí)按字母Z鍵)后,敲Enter鍵,即輸入了EOF?!痉治雠c解答】(1) 本題要求的操作同樣可在while循環(huán)中完成:while((ch=getchar())!=′\n′){ …… }(2) 若用整型變量n作為計(jì)數(shù)器對(duì)小寫(xiě)字母進(jìn)行統(tǒng)計(jì),只要讀入的字符是小寫(xiě)字母,則n增1。如:if(ch=′a′ amp。amp。 ch=′z′)n++。(3) 在退出循環(huán)后,輸出n的值。(4) 請(qǐng)自己完善程序?!痉治雠c解答】(1) 若圖案的行數(shù)輸入到變量L中。(2) 按要求L決定了圖形的行數(shù),因此可通過(guò)循環(huán)來(lái)實(shí)現(xiàn)L行的輸出:for(i=1。 i=L。 i++){ …… }循環(huán)體中的“……
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1