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

正文內(nèi)容

譚浩強(qiáng)c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)課后題答案(編輯修改稿)

2025-07-04 22:26 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 符函數(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。【分析與解答】 (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)自己完善程序。【分析與解答】 (1) 若圖案的行數(shù)輸入到變量L中。(2) 按要求L決定了圖形的行數(shù),因此可通過(guò)循環(huán)來(lái)實(shí)現(xiàn)L行的輸出: for(i=1。 i=L。 i++) { …… }循環(huán)體中的“……”號(hào),代表輸出L行的操作。(3) 假定ch中存放了一個(gè)字符,我們知道,通過(guò)以下循環(huán)可以在一行上輸出n個(gè)字符: for(j=1。 j=n。 j++)putchar(ch)。 putchar(′\n′)。注意,在循環(huán)后putchar(′\n′)。語(yǔ)句不可少,它用以換行。(4) 現(xiàn)在應(yīng)當(dāng)解決如何按要求給出每行輸出的字符。由圖分析,行數(shù)(或行號(hào))為1時(shí)輸出字符A,行數(shù)為2時(shí)輸出字母B……若輸出的字母放在變量ch中,行號(hào)取決于外循環(huán)的控制變量i,則輸出的字母和行號(hào)的關(guān)系可用表達(dá)式:ch=′A′+i1來(lái)表示。當(dāng)i為1時(shí)ch中被賦予字母A,當(dāng)i為2時(shí)ch中被賦予了字母B,其他依此類(lèi)推。因此,在此表達(dá)式后,利用(3)中的循環(huán)就解決了各行上輸出的字母。(5) 按要求每行輸出的字母的個(gè)數(shù)不同,第二行輸出3個(gè)字母,第三行輸出5個(gè)字母,第四行輸出7個(gè)字母……(3)中for循環(huán)體的執(zhí)行次數(shù)取決于n的值,也就是說(shuō)n的值決定了每行輸出字母的個(gè)數(shù)。其實(shí),n的值與行號(hào)有著密切的關(guān)系:n=2*i1,當(dāng)i為1時(shí)n的值是當(dāng)i的2時(shí)n的值是當(dāng)i的3時(shí)n的值是當(dāng)i的4時(shí)n的值是7。因此在(3) 中for循環(huán)之前可用此表達(dá)式求出n的值。(6) 總結(jié)以上分析,我們可得到以下的程序段:for(i=1。 i=L。 i++){ ch=′A′+i1。n=2*i1。for(j=1。 j=n。 j++)putchar(ch)。putchar(′\n′)。 } 若所用的變量都已正確定義,通過(guò)輸入L的值為5,則程序段在第一列起有以下的輸出結(jié)果: A BBB CCCCC DDDDDDD EEEEEEEEE和題目的要求比較已趨接近,不同的是在每行沒(méi)有適當(dāng)?shù)目s進(jìn)。(7) 現(xiàn)在來(lái)解決每行的縮進(jìn)問(wèn)題。由題中給出的圖形可知,若指定輸出5行,第一行縮進(jìn)5個(gè)空格,第二行則縮進(jìn)4個(gè)空格,第三行則縮進(jìn)3個(gè)空格,第四行則縮進(jìn)2個(gè)空格,第五行則縮進(jìn)1個(gè)空格。這同樣可以由以下的for循環(huán)來(lái)實(shí)現(xiàn): for(k=L。 k=i。 k)putchar(′ ′)。把此循環(huán)放在i控制的循環(huán)體內(nèi)、輸出每行字符的循環(huán)之前即可。(8) 請(qǐng)讀者自己補(bǔ)充有關(guān)的include行、語(yǔ)句和變量的定義,以完成整個(gè)程序。注意,如果有能力可在某些地方作些簡(jiǎn)化。 都市閑人 200616 10:19 第七章 函數(shù)習(xí)題分析與解答一、 選擇題 【參考答案】 C) 【參考答案】 C) 【參考答案】 B)【參考答案】 C)【參考答案】 A)【參考答案】 D)【參考答案】 A)二、 填空題【參考答案】 12【參考答案】 ()【參考答案】 4【參考答案】 [1] n=1 [2] s【參考答案】 [1] =y [2] z*x【參考答案】 [1] 1 [2] s*i [3] 0 [4] f(k)三、 程序調(diào)試和編程題 【分析與解答】 (1) fun函數(shù)判斷傳給形參n的數(shù)是否為素?cái)?shù),若是函數(shù)返回1,否則返回0。(2) 函數(shù)的原意是用變量yes作為判斷n是否為素?cái)?shù)的標(biāo)志,是素?cái)?shù),其值為1,否則為0。而所給函數(shù)的實(shí)際流程卻不能實(shí)現(xiàn)這一功能,例如,若n的值為15(明顯不是素?cái)?shù))時(shí),在for循環(huán)中,當(dāng)k的值為3時(shí),就會(huì)執(zhí)行if子句,yes得0,但for循環(huán)并沒(méi)有終止,接著k為4時(shí)就會(huì)執(zhí)行else子句,又使yes得1,由此可見(jiàn)此程序段并不能準(zhǔn)確地判斷一個(gè)數(shù)是否為素?cái)?shù);最后確定yes為何值的是for循環(huán)的終止值n/2,當(dāng)n為15時(shí),k的值為n/2等于7,在循環(huán)體內(nèi)將又一次執(zhí)行else子句,使yes得1,這時(shí)循環(huán)結(jié)束,函數(shù)返回1。由此可見(jiàn)所給fun函數(shù)不能起到預(yù)想的作用。(3) 由上分析可知,對(duì)于n的值為15時(shí)而言,問(wèn)題是在一旦yes的值為0,已判斷n中的值不是素?cái)?shù)時(shí),沒(méi)有及時(shí)退出循環(huán),返回0;因此,若在if子句中添加一條語(yǔ)句:break。就能解決這一問(wèn)題,把if語(yǔ)句改寫(xiě)如下: if(n%k==0){ yes=0。 break。 } else yes=1。(4) 在所給fun函數(shù)中,當(dāng)n的值為3時(shí)(都是素?cái)?shù)),因?yàn)閚/2的值為1(大于k中的2),所以不會(huì)進(jìn)入for循環(huán),而直接執(zhí)行return語(yǔ)句,細(xì)心的讀者應(yīng)該可以發(fā)現(xiàn),這時(shí)yes沒(méi)有賦過(guò)值,也就是說(shuō),返回的是一個(gè)不確定的值,這將會(huì)導(dǎo)致錯(cuò)誤;因此,應(yīng)當(dāng)在定義語(yǔ)句中給yes賦初值1: int k, yes=1。至此fun函數(shù)能正確運(yùn)行。(5) 總結(jié):因?yàn)橐坏﹊f語(yǔ)句中的表達(dá)式:n%k==0的值為1(即可被某數(shù)整除),則可以確定n不是素?cái)?shù),因此即可返回,不必再執(zhí)行函數(shù)其他部分,if子句可改成: if(n%k==0){ yes=0。 return yes。 } else yes=1。也可簡(jiǎn)化成: if (n%k==0) return 0。 else yes=1。又可進(jìn)一步不用變量yes,并去掉else,簡(jiǎn)化成(): for( k=2。 k=n/2。 k++)if(n%k==0) return 0。  return 1。【分析與解答】 (1) 若用整型變量c存放余數(shù),則求a被b除后的余數(shù)可用表達(dá)式: c=a%b。(2) 本題要求編寫(xiě)函數(shù)mymod用以求a被b除后的余數(shù)即: c=mymod( a,b )。(3) 只要把a(bǔ)%b作為函數(shù)值返回即可完成操作(): int mymod(int a, int b) { return a%b。 }(4) 總結(jié):本題在算法上十分簡(jiǎn)單,只是要求讀者能夠掌握編寫(xiě)函數(shù)的基本知識(shí)。【分析與解答】 (1) 本題所要采用的算法是累加。分析可見(jiàn),所有累加項(xiàng)的分子都是1,而分母部分逐項(xiàng)增1;只是累加項(xiàng)的符號(hào)交叉變化。因此處理好符號(hào)的變化是完成操作的關(guān)鍵之一。(2) 若函數(shù)名為funa,傳送到函數(shù)的參數(shù)是整型值,假定形參命名為n;函數(shù)的返回值應(yīng)當(dāng)是浮點(diǎn)型,為此函數(shù)的首部可以是: double funa( int n )(3) 接著寫(xiě)函數(shù)體。累加放在一個(gè)for循環(huán)中來(lái)完成,若循環(huán)控制變量為k,可利用循環(huán)控制變量作為累加項(xiàng)t的分母,累加值放在add中: for( k=1。 k=n。 k++){ …… t=s*。add=add+t。 } 此處,s用作符號(hào)變量,在1和1之間交叉變化,t的值也將按要求變化符號(hào)。注意,因?yàn)槊恳豁?xiàng)的絕對(duì)值必定是小于1的小數(shù)。(4) 現(xiàn)在需要確定s的值。最簡(jiǎn)單的可用表達(dá)式:s=s來(lái)實(shí)現(xiàn)(),若賦值號(hào)右邊s中的值為1,則賦值號(hào)左邊s中的值就得1;若賦值號(hào)右邊s中的值為1,則賦值號(hào)左邊s中的值就會(huì)得1;則每循環(huán)一次就使s改變了一次符號(hào)。當(dāng)然還可有多種方法。把以上表達(dá)式添加到循環(huán)體中: for( k=1。 k=n。 k++){ s=s。t=s*。add=add+t。 } (5) 最后注意應(yīng)當(dāng)給各變量賦以適當(dāng)?shù)某踔?,并返回函?shù)值。(6) 請(qǐng)編寫(xiě)主函數(shù)。當(dāng)傳給形參的值為10時(shí),函數(shù)的返回值應(yīng)當(dāng)是:。(7) 總結(jié):本題的算法并不復(fù)雜,但是需要讀者掌握編寫(xiě)函數(shù)的基本知識(shí)。掌握需要傳入函。數(shù)的參數(shù)及其類(lèi)型,掌握需要返回的值及其類(lèi)型。在此基礎(chǔ)上,其他方面與先前在主函數(shù)中編寫(xiě)的程序沒(méi)有什么區(qū)別。 【分析與解答】 (1) 。函數(shù)的返回值為浮點(diǎn)型,函數(shù)只有一個(gè)形參,為整型。(2) 函數(shù)的基本算法是累加,只是除第一項(xiàng)外其余各項(xiàng)都用減法;每一項(xiàng)的分子都是1,分母部分為k2,k的值逐項(xiàng)增1,由2變化到m。因此,算法可以用一個(gè)循環(huán)來(lái)實(shí)現(xiàn)。(3) 當(dāng)m的值為12時(shí),函數(shù)值應(yīng)是:。【分析與解答】 (1) 若函數(shù)取名為fun,按題意,x作為形參,由調(diào)用函數(shù)傳入,其類(lèi)型不應(yīng)當(dāng)用整型;表達(dá)式x25x+4的值作為函數(shù)值返回,函數(shù)值的類(lèi)型應(yīng)為浮點(diǎn)型。因此,很容易寫(xiě)出函數(shù): double fun( double x ) { return x*x5*x+4。 }(2) 若在調(diào)用函數(shù)時(shí),x和y2已正確定義,且x已有確定的值,則可用以下函數(shù)調(diào)用語(yǔ)句得到y(tǒng)2的值: y2=fun( x+15 )。(3) 同樣,若在調(diào)用函數(shù)時(shí),x和y3已正確定義,且x已有確定的值,則可用以下函數(shù)調(diào)用語(yǔ)句得到y(tǒng)3的值: y3=fun( sin(x) )。注意,因?yàn)樵诔绦蛑姓{(diào)用了C語(yǔ)言提供的庫(kù)函數(shù)sin,因此應(yīng)當(dāng)在程序的最前面包含以下命令行: include ″″(4) 參考(2) 和(3) 應(yīng)不難寫(xiě)出求y1的語(yǔ)句,請(qǐng)讀者自己完成。(5) y1的值應(yīng)是:。當(dāng)x的值為5時(shí),y2的值應(yīng)是:。,y3的值應(yīng)是:。(6) 總結(jié):① 本題已給出了函數(shù)需要求值的表達(dá)式,讀者只需確定函數(shù)的類(lèi)型和形參的類(lèi)型,就可以寫(xiě)出函數(shù)。② 在給定了函數(shù)之后,調(diào)用函數(shù)時(shí),函數(shù)的實(shí)參應(yīng)當(dāng)是一個(gè)與形參類(lèi)型一致的任意合法的表達(dá)式。例如,可以是常量、算術(shù)表達(dá)式,也可以是函數(shù)等。,可以用add( 3,4 )。來(lái)求3+4;當(dāng)x、y有確定值時(shí),可以用add( x*x,y*y)。來(lái)求x2+y2;當(dāng)x、y有確定值時(shí),可以用add( sin(x+y),cos(x+y))。來(lái)求sin(x+y)+cos(x+y),這同樣可以通過(guò)add( sin(add(x,y)),cos((add(x,y)) )。來(lái)求得。 都市閑人 200616 10:20 第八章 指針習(xí)題分析與解答一、 選擇題 【參考答案】 A)【參考答案】 B)【參考答案】 B)【參考答案】 C)【參考答案】 B)【參考答案】 B)【參考答案】 C)【參考答案】 D) 【參考答案】 B)【參考答案】 C)【參考答案】 C)【參考答案】 C)二、 填空題【參考答案】 110【參考答案】 7 1【參考答案】【參考答案】三、 編程題【分析與解答】 (1) 若函數(shù)名為fun,按題意,函數(shù)不返回函數(shù)值;函數(shù)的形參需要接受傳送過(guò)來(lái)的兩個(gè)浮點(diǎn)數(shù),因此需要有兩個(gè)double類(lèi)型的形參;另外要把它們的和值與差值,通過(guò)形參傳送回去,這就要求有兩個(gè)double類(lèi)型的形參指針,接受傳送過(guò)來(lái)的地址,以便通過(guò)指針把和值與差值傳送給所指的主函數(shù)中的變量。因此函數(shù)的首部應(yīng)當(dāng)是: void fun(double a, double b, double *p1, double *p2)這里,a、b、pp2是自己取的名。(2) 假設(shè)把a(bǔ)、b的和值傳送給p1所指的存儲(chǔ)單元,可用語(yǔ)句:*p1=a+b。 把a(bǔ)、b的差值傳送給p2所指的存儲(chǔ)單元,可用語(yǔ)句:*p2=ab。(3) 因此函數(shù)可寫(xiě)成: void fun(double a,double
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1