高級(jí)語(yǔ)言學(xué)習(xí)知識(shí)程序設(shè)計(jì)編寫(xiě)程序題規(guī)范標(biāo)準(zhǔn)答案_第1頁(yè)
高級(jí)語(yǔ)言學(xué)習(xí)知識(shí)程序設(shè)計(jì)編寫(xiě)程序題規(guī)范標(biāo)準(zhǔn)答案_第2頁(yè)
高級(jí)語(yǔ)言學(xué)習(xí)知識(shí)程序設(shè)計(jì)編寫(xiě)程序題規(guī)范標(biāo)準(zhǔn)答案_第3頁(yè)
高級(jí)語(yǔ)言學(xué)習(xí)知識(shí)程序設(shè)計(jì)編寫(xiě)程序題規(guī)范標(biāo)準(zhǔn)答案_第4頁(yè)
高級(jí)語(yǔ)言學(xué)習(xí)知識(shí)程序設(shè)計(jì)編寫(xiě)程序題規(guī)范標(biāo)準(zhǔn)答案_第5頁(yè)
已閱讀5頁(yè),還剩86頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、7輸入n值,輸出如圖所示高為n的等腰三角形7輸入n值,輸出如圖所示高為n的等腰三角形1已知銀行整存整取存款不同期限的月息利率分別為:0.315% 期限一年0.330% 期限二年月息利率 =0.345% 期限三年0.375% 期限五年0.420% 期限八年要求輸入存錢(qián)的本金和期限,求到期時(shí)能從銀行得到的利息與本金的合計(jì)。2輸入年份year和月month ,求該月有多少天。判斷是否為閏年,可用如下C語(yǔ)言表達(dá)式:year%4=0 & year%100!=0 | year%400=0。若表達(dá)式成立(即表達(dá)式值為1),貝1J year為閏年;否則,表達(dá)式不成立(即值為0) , year為平年。3編寫(xiě)一個(gè)

2、簡(jiǎn)單計(jì)算器程序,輸入格式為:data1 op data2 。其中data1和data2是參加運(yùn)算的兩個(gè)數(shù),op為運(yùn)算符,它的取值只能是+、-、*、/。4輸入n值,輸出如圖所示矩形。1 .1* 卡季安率*半 邛e斗.文業(yè)業(yè) 率* * 圖4,1 n書(shū)時(shí)的矩形5輸入n值,輸出如圖所示平行四邊形。ir ale ale 土 北 電, -T- - i- r-* * 斗 * * * 本靠布* * 圖d. 2n=日時(shí)的平行四邊形6輸入n值,輸出如圖所示高為n的等腰三角形。常*常榮 *季率* *圖4. 3 n=6時(shí)的等騰三角形*151c ,|p北北土* * * *中 * * * *卒本*圖&4 n=6時(shí)的倒等腰

3、三角形8輸入n值,輸出如圖所示高和上底均為n的等腰梯形。事張冰水* *聿*比*對(duì)*:*#*國(guó)45 口=5時(shí)的等慢梯形9輸入n值,輸出如圖所示高和上底均為n的等腰空心梯形。?|c* * 京小牛* 本* *圖4.6 飛時(shí)的空心等腰梯形10輸入n值,輸出如圖所示邊長(zhǎng)為n的空心正六邊型。(9 .布布布,* * TOC o 1-5 h z *水+ +莊詠不* *圖4. T n=5時(shí)的空心正六邊理11輸入n值,輸出如圖所示圖形* 卡 辛* * 卡* *4卡圖也E5時(shí)的K形12輸入n值,輸出如圖所示圖形12輸入n值,輸出如圖所示圖形4*圖d.g才5時(shí)的工形13輸入n值,輸出如圖所示圖形相 坤本窠牡* * +

4、圖4.10用3時(shí)的度形14輸入n值,輸出如圖所示圖形:* *軍* * *圖4.12 n=5時(shí)的囚形15輸入n值,輸出如圖所示圖形。* * =kS14.12 *3附的菱形16輸入n值,輸出如圖所示圖形。(例為n=6時(shí))16輸入n值,輸出如圖所示圖形。(例為n=6時(shí))北*+ *年 +* +圖n=5時(shí)的上禊形17編寫(xiě)程序,輸出如圖所示 sin(x)函數(shù)0至I 2元的圖形。邛#*干*牛比*牛*斗二圖4.14正弦曲線18編寫(xiě)程序,在屏幕上輸出一個(gè)由*號(hào)圍成的空心圓x軸,縱向?yàn)閥軸,在屏幕上顯示 0360度的 cos(x)曲線與直線x=f(y)=45*(y-1)+31的迭加圖形。其中cos圖形用表示,f(

5、y)用+表示,在兩個(gè)圖形的19編寫(xiě)程序,在屏幕上繪制如圖余弦曲線和直線。若屏幕的橫向?yàn)榻稽c(diǎn)處則用f(y)圖形的符號(hào)22輸入n值,輸出如圖所示圖形22輸入n值,輸出如圖所示圖形平*4 比+不* +卡 +靠十*軍*沛耶年全北*圖 4.15*邛不*布* TOC o 1-5 h z 十平+ *+ +平十啡+比十把坤余弦曲線和直線20編寫(xiě)程序,輸出如圖所示高度為 n的圖形12345678g101112131415IS17181920212223242526272B2330313233343536圖4.15 n=8時(shí)的數(shù)字正方形21編寫(xiě)程序,輸出如圖所示高度為n的圖形 TOC o 1-5 h z 1361

6、0162125914204313137121811 1716圖4.1?臚呂時(shí)的數(shù)字倒三角12 3 4 5112 3 41112 31111211111圖4.te *5時(shí)的教字矩形23輸入n值,輸出如圖所示的 n xn(n10)階螺旋方陣。1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9圖4.19 n=5 時(shí)的螺旋方陣24輸入n值,輸出如圖所示回型方陣。3 23 233 2 233 21 23當(dāng)廣臼時(shí):3 33 32 33 333圖4.20回形方陣當(dāng)n=5時(shí): TOC o 1-5 h z 9333333222233 2 1

7、12 33211233222233333325輸出如圖所示的數(shù)字金字塔11 2 113 3 2 11 2 3 4 S 2 112354321123456!5d 3211234557S543211234557876543211234&678987654321圖4.21時(shí)的數(shù)字金字塔26輸入n值,輸出如圖所示圖形YWUSRP1V7RQQNL圖d.22 n=5時(shí)的空心羲形27輸入頂行字符和圖形的高,輸出如圖所示圖形Afi BC C TOC o 1-5 h z DDEEDDC CE Ba圖4,2S頂行字符為小,、高為5的菱形28輸入首字符和高后,輸出如圖所示回型方陣。A A A A AA B B B

8、AA A A A A圖4.24首字符為A、高為5的方陣29輸入中心字符和高后,輸出如圖所示回型方陣。X X X X XX 丫 丫 丫 XX Y Z Y XX Y Y Y YX X X X X圖4.25中心字符為Z、高為5的方陣30編寫(xiě)程序,輸出如圖所示上三角形式的乘法九九表1234567891234567394 6 8 10 12 11 16 1g TOC o 1-5 h z S 12 15IE21242716 202423323625303540453642435449 56 63S4 72SI圖4. 20上三角乘法九九表31編寫(xiě)程序,輸出如圖所示下三角乘法九九表1234567398164

9、7249 56 6336 42 43 54 TOC o 1-5 h z 25303540451620242Q3235912151821242768101214ISIS3456789圖4. 27下三角乘法九九表32編寫(xiě)程序,輸入三角型的三條邊長(zhǎng),求其面積。注意:對(duì)于不合理的邊長(zhǎng)輸入要輸出數(shù)據(jù)錯(cuò)誤的提示信息。33編寫(xiě)程序求出 555555的約數(shù)中最大的三位數(shù)是多少。34編寫(xiě)程序計(jì)算下列算式的值:1 1 1 1C = 1 + +b 一 十 一 (vl)1r5 WK X K X直到某一項(xiàng) A=0.000001時(shí)為止。輸出最后C的值。35從鍵盤(pán)輸入任意的字符,按下列規(guī)則進(jìn)行分類(lèi)計(jì)數(shù)。第一類(lèi) 0 , 1

10、, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9第二類(lèi)+,-,*,/,%,=第三類(lèi)其它字符當(dāng)輸入字符時(shí)先計(jì)數(shù),然后停止接收輸入,打印計(jì)數(shù)的結(jié)果。(t)36對(duì)從鍵盤(pán)上輸入的行、單詞和字符進(jìn)行計(jì)數(shù)。我們將單詞的定義進(jìn)行化簡(jiǎn),認(rèn)為單詞是不包含空格、制表符及換行符的字符序列。例如:a+b+c,認(rèn)為是1個(gè)單詞,它由5個(gè)字符組成。又如:xy abc,為2個(gè)單詞,6停止計(jì)數(shù)。個(gè)字符。一般用CTRL+D作為文件結(jié)束標(biāo)記,其字符碼值為-1 ,當(dāng)輸入CTRL+D時(shí)表示文件輸入結(jié)束,37編寫(xiě)程序計(jì)算當(dāng)x=0.5時(shí)下述級(jí)數(shù)和的近似值,使其誤差小于某一指定的值epsilon (例如: TOC o 1-5

11、h z epsilon=0.000001):Y 25 XT/ + -十3*1 5初!7+3 J38編寫(xiě)程序計(jì)算下式的值:1005U 10 1Nk 十 Xl+k + Z k=lk-1k=l k39編寫(xiě)程序計(jì)算下列序列的值:1111 11+1X2 2X3 3X4 4X5 IIX (N+1)要求最后一項(xiàng)小于0.001時(shí)、或者當(dāng) N=20時(shí)尚未達(dá)到精度要求,則停止計(jì)算。40已知求正弦 sin(x)的近似值的多項(xiàng)式公式為:X3/xTsin(z) = x+ 十+1)* 十3J5J1(2n+l)編寫(xiě)程序,要求輸入x和 ,按上述公式計(jì)算 sin(x)的近似值,要求計(jì)算的誤差小于給定的41 從鍵盤(pán)輸入十個(gè)整數(shù),

12、用插入法對(duì)輸入的數(shù)據(jù)按照從小到大的順序進(jìn)行排序,將排序后的結(jié)果輸出。42 輸入一個(gè)正整數(shù),要求以相反的順序輸出該數(shù)。例如輸入 12345 ,輸出位 54321 。43編寫(xiě)程序,讀入一個(gè)整數(shù)N;若N為非負(fù)數(shù),則計(jì)算N到2XN之間的整數(shù)和;若N為一個(gè)負(fù)數(shù),則求2 X N到N之間的整數(shù)和。分別利用for和while寫(xiě)出兩個(gè)程序。44 求解愛(ài)因斯坦數(shù)學(xué)題。有一條長(zhǎng)階梯,若每步跨 2 階,則最后剩余1 階,若每步跨 3 階,則最后剩 2 階,若每步跨 5 階,則最后剩4 階,若每步跨6 階則最后剩5 階,若每步跨7 階,最后才正好一階不剩。請(qǐng)問(wèn),這條階梯共有多少階?45 一個(gè)自然數(shù)被 8除余1 ,所得的

13、商被 8除也余1 ,再將第二次的商被 8除后余7,最后得到一個(gè)商為a。又知這2 倍。編寫(xiě)程序求這個(gè)自然數(shù)。個(gè)自然數(shù)被17除余4,斯得的商被17除余15,最后得到一個(gè)商是a的46 編寫(xiě)程序,用二分法求一元二次方程2x3-4x2+3x-6=0在( 10 , 10 )區(qū)間的根。47中國(guó)古代科學(xué)家祖沖之采用正多邊形逼近的割圓法求出了無(wú)的值。請(qǐng)編寫(xiě)一程序,采用割圓法求出無(wú)的值,要求精確到小數(shù)點(diǎn)之后的第十位。48A、B、C、D、E五人在某天夜里合伙去捕魚(yú),到第二天凌晨時(shí)都疲憊不堪,于是各自找地方睡覺(jué)。日上三竿, A 第一個(gè)醒來(lái),他將魚(yú)分為五份,把多余的一條魚(yú)扔掉,拿走自己的一份。 B 第二個(gè)醒來(lái),也將魚(yú)分

14、為五份,把多余的一條魚(yú)扔掉,拿走自己的一份。 C 、 D 、 E 依次醒來(lái),也按同樣的方法拿魚(yú)。編寫(xiě)程序求出他們合伙至少捕了多少條魚(yú)。49 一輛卡車(chē)違犯交通規(guī)則,撞人逃跑?,F(xiàn)場(chǎng)三人目擊事件,但都沒(méi)記住車(chē)號(hào),只記下車(chē)號(hào)的一些特征。甲說(shuō):牌照的前兩位數(shù)字是相同的;乙說(shuō):牌照的后兩位數(shù)字是相同的;丙是位數(shù)學(xué)家,他說(shuō):四位的車(chē)號(hào)剛好是一個(gè)整數(shù)的平方。請(qǐng)根據(jù)以上線索求出車(chē)號(hào)。50 若一個(gè)口袋中放有12 個(gè)球,其中有3 個(gè)紅的, 3 個(gè)白的和 6 個(gè)黑的,每次從中任取 8 個(gè)球,編寫(xiě)程序求出共有多少種不同的顏色搭配。51100匹馬馱100擔(dān)貨,大馬一匹馱3擔(dān),中馬一匹馱2擔(dān),小馬兩匹馱1擔(dān)。試編寫(xiě)程序計(jì)算

15、大、中、小馬的數(shù)目。52 編寫(xiě)程序,輸出用一元人民幣兌換成1 分、 2 分和 5 分硬幣的不同兌換方法。53 顯示 200 以?xún)?nèi)的完全平方數(shù)和它們的個(gè)數(shù)。(完全平方數(shù): A2+B2=C2, 求 A 、 B、 C)54 設(shè) N 是一個(gè)四位數(shù),它的 9 倍恰好是其反序數(shù)(例如: 123 的反序數(shù)是321 ),求 N 的值。將一個(gè)數(shù)的數(shù)碼倒過(guò)來(lái)所得到的新數(shù)叫原數(shù)的反序數(shù)。如果一個(gè)數(shù)等于它的反序數(shù),則稱(chēng)它為對(duì)稱(chēng)數(shù)。求不超過(guò) 1993 的最大的二進(jìn)制的對(duì)稱(chēng)數(shù)。編寫(xiě)程序求解下式中各字母所代表的數(shù)字。PEARAR APEA57 一個(gè)自然數(shù)的七進(jìn)制表達(dá)式是一個(gè)三位數(shù),而這個(gè)自然數(shù)的九進(jìn)制表示也是一個(gè)三位數(shù),且

16、這 兩個(gè)三位數(shù)的數(shù)碼順序正好相反,求這個(gè)三位數(shù)。58 請(qǐng)驗(yàn)證 2000 以?xún)?nèi)的哥德巴赫猜想,對(duì)于任何大于4 的偶數(shù)均可以分解為兩個(gè)素?cái)?shù)之和。如果一個(gè)正整數(shù)等于其各個(gè)數(shù)字的立方和,則稱(chēng)該數(shù)為阿姆斯特朗數(shù)(亦稱(chēng)為自戀性數(shù))。如407=43+03+73 就是一個(gè)阿姆斯特朗數(shù)。編寫(xiě)程序求1000 以?xún)?nèi)的所有阿姆斯特朗數(shù)。任意輸入一個(gè)偶數(shù),請(qǐng)將它分解為兩個(gè)素?cái)?shù)之和。61如果整數(shù)A的全部因子(包括1 ,不包括A本身)之和等于B;且整數(shù)B的全部因子3000 以?xún)?nèi)的全部親密數(shù)。不包括B本身)之和等于A ,則將整數(shù)A和B稱(chēng)為親密數(shù)。求62 猜數(shù)游戲。由計(jì)算機(jī)想 一個(gè)數(shù)請(qǐng)人猜,如果人猜對(duì)了,則結(jié)束游戲,否則計(jì)算機(jī)

17、給出提示,告訴人所猜的數(shù)是太大還是太小,直到人猜對(duì)為止。計(jì)算機(jī)記錄人猜的次數(shù),以此可以反映出猜數(shù)者 猜 的水平。63 編寫(xiě)程序求出 1000! 后有多少個(gè)零。64 求矩陣 A2*3 的轉(zhuǎn)置矩陣B3*2 。設(shè)矩陣A 為:r 1 2 3 -| r 1 4 -| TOC o 1-5 h z A =| | B =| 2 5|l4 56 l3665 十個(gè)小孩圍成一圈分糖果,老師分給第一個(gè)小孩10 塊,第二個(gè)小孩2 塊,第三個(gè)小孩8 塊,第四個(gè)小孩22 塊,第五個(gè)小孩16 塊,第六個(gè)小孩4 塊,第七個(gè)小孩10 塊,第八個(gè)小孩6 塊,第九個(gè)小孩14 塊,第十個(gè)小孩20 塊。然后所有的小孩同時(shí)將自己手中的糖分

18、一半給右邊的小孩;糖塊數(shù)為奇數(shù)的人可向老師要一塊。問(wèn)經(jīng)過(guò)這樣幾次調(diào)整后大家手中的糖的塊數(shù)都一樣?每人各有多少塊糖?66輸入5 X5的數(shù)組,編寫(xiě)程序?qū)崿F(xiàn):求出對(duì)角線上各元素的和;求出對(duì)角線上行、列下標(biāo)均為偶數(shù)的各元素的積;找出對(duì)角線上其值最大的元素和它在數(shù)組中的位置。編寫(xiě)程序,以字符形式輸入一個(gè)十六進(jìn)制數(shù),將其變換為一個(gè)十進(jìn)制整數(shù)后輸出。編寫(xiě)程序,輸入一個(gè)十進(jìn)制整數(shù),將其變換為二進(jìn)制后儲(chǔ)存在一個(gè)字符數(shù)組中。編寫(xiě)程序,輸出 1000 以?xún)?nèi)的所有完數(shù)及其因子。所謂完數(shù)是指一個(gè)整數(shù)的值等于它的因子之和,例如 6 的因子是 1 、 2、 3,而 6=1+2+3 ,故 6 是一個(gè)完數(shù)。70對(duì)數(shù)組A中的N

19、(0N100 =個(gè)整數(shù)從小到大進(jìn)行連續(xù)編號(hào),輸出各個(gè)元素的編號(hào)。要求不能改變數(shù)組A中元素的順序,且相同的整數(shù)要具有相同的編號(hào)。例如數(shù)組是:A=(5,3,4,7,3,5,6)則輸出為: (3,1,2,5,1,3,4)71 現(xiàn)將不超過(guò)2000 的所有素?cái)?shù)從小到大排成第一行,第二行上的每個(gè)數(shù)都等于它 右肩 上的素?cái)?shù)與 左肩 上的素?cái)?shù)之差。請(qǐng)編程求出:第二行數(shù)中是否存在這樣的若干個(gè)連續(xù)的整數(shù),它們的和恰好是 1898 ?假如存在的話,又有幾種這樣的情況?第一行: 2 3 5 7 11 13 17 1979 1987 1993第二行: 1 2 2 4 2 4 8 672 將 1 、 2 、 3、 4 、

20、 5 、 6、 7 、 8 、 9 九個(gè)數(shù)字分成三組,每個(gè)數(shù)字只能用一次,即每組三個(gè)數(shù)不許有重復(fù)數(shù)字,也不許同其它組的三個(gè)數(shù)字重復(fù),要求將每組中的三位數(shù)組成一個(gè)完全平方數(shù)。73 一個(gè)自然數(shù)的七進(jìn)制表達(dá)式是一個(gè)三位數(shù),而這個(gè)自然數(shù)的九進(jìn)制表示也是一個(gè)三位數(shù),且這兩個(gè)三位數(shù)的數(shù)碼順序正好相反,求這個(gè)三位數(shù)。74 使用數(shù)組精確計(jì)算M/N(0MN1)個(gè)元素的一維數(shù)組中,數(shù)組的每個(gè)元素存放一位十進(jìn)制數(shù),即商的第一位存放在第一個(gè)元素中,商的第二位存放在第二個(gè)元素中,依次類(lèi)推。這樣可使用數(shù)組來(lái)表示計(jì)算的結(jié)果。75使用數(shù)組完成兩個(gè)超長(zhǎng)(長(zhǎng)度小于10 0)正整數(shù)的加法。為了實(shí)現(xiàn)高精度的加法,可將正整數(shù)M存放在有

21、N (N1)個(gè)元素的一維數(shù)組中,數(shù)組的每個(gè)元素存放一位十進(jìn)制數(shù),即個(gè)位存放在第一個(gè)元素中,十位存放在第二個(gè)元素中,依次類(lèi)推。這樣通過(guò)對(duì)數(shù)組中每個(gè)元素的按位加法就可實(shí)現(xiàn)對(duì)超長(zhǎng)正整數(shù)的加法。76使用數(shù)組完成兩個(gè)超長(zhǎng)(長(zhǎng)度小于10 0)正整數(shù)的加法。為了實(shí)現(xiàn)高精度的加法,可將正整數(shù)M存放在有N (N1)個(gè)元素的一維數(shù)組中,數(shù)組的每個(gè)元素存放一位十進(jìn)制數(shù),即個(gè)位存放在第一個(gè)元素中,十位存放在第二個(gè)元素中,依次類(lèi)推。這樣通過(guò)對(duì)數(shù)組中每個(gè)元素的按位加法就可實(shí)現(xiàn)對(duì)超長(zhǎng)正整數(shù)的加法。77使用數(shù)組完成兩個(gè)超長(zhǎng)(長(zhǎng)度小于10 0)正整數(shù)的乘法78 馬步遍歷問(wèn)題:已知國(guó)際象棋棋盤(pán)有8*8 共 64 個(gè)格子。設(shè)計(jì)一個(gè)

22、程序,使棋子從某位置開(kāi)始跳馬,能夠把棋盤(pán)上的格子走遍。每個(gè)格子只允許走一次。八皇后問(wèn)題:在一個(gè)8X8的國(guó)際象棋盤(pán),有八個(gè)皇后,每個(gè)皇后占一格;要求棋盤(pán)上放上八個(gè)皇后時(shí)不會(huì)出現(xiàn) 相互 攻擊 的現(xiàn)象,即不能有量個(gè)皇后在同一行、列或?qū)蔷€上。問(wèn)共有多少種不同的方法。編制一個(gè)計(jì)算函數(shù)y=f(x) 的值程序,其中:-x + 2.5 0= x 2y= 2 - 1.5(x-3)*(x-3) 2= x 4x/2 - 1.5 4= x 1)請(qǐng)編寫(xiě)遞歸程序?qū)崿F(xiàn)。編寫(xiě)函數(shù),采用遞歸方法實(shí)現(xiàn)將輸入的字符串按反序輸出。編寫(xiě)函數(shù),采用遞歸方法在屏幕上顯示如下楊輝三角形:11 11 2 11 3 3 11 5 10 10

23、5 1編寫(xiě)函數(shù),采用遞歸方法將任一整數(shù)轉(zhuǎn)換為二進(jìn)制形式。設(shè)有字母a、 b 、 c ,請(qǐng)編程用遞歸的方法產(chǎn)生由這些字母組成的,且長(zhǎng)度為n 的所有可能的字符串。例如,輸入 n=2 ,則輸出:aa ab ac ba bb bc ca cb cc將一個(gè)數(shù)的數(shù)碼倒過(guò)來(lái)所得到的新數(shù),叫作原數(shù)的反序數(shù),如果一個(gè)數(shù)等于它的反序數(shù),則稱(chēng)它為對(duì)稱(chēng)數(shù)。編寫(xiě)程序,采用遞歸算法求不超過(guò) 1993 的最大的二進(jìn)制的對(duì)稱(chēng)數(shù)。93從1到n(n1000)個(gè)自然數(shù)中選出r個(gè)數(shù)進(jìn)行組合,并按指定的格式輸出組合的結(jié)果。例如:n=5 , r=3 時(shí),共有 10 種組合,運(yùn)行程序,要按下面的格式輸出:1 2 3454552 3 454

24、53 4 5請(qǐng)用遞歸算法實(shí)現(xiàn)。從鍵盤(pán)輸入十個(gè)整數(shù),用合并排序法對(duì)輸入的數(shù)據(jù)按照從小到大的順序進(jìn)行排序,將排序后的結(jié)果輸出。編寫(xiě)程序,讀入一個(gè)以符號(hào). 結(jié)束的長(zhǎng)度小于 20 字節(jié)的英文句子,檢查其是否為回文(即正讀和反讀都是一樣的,不考慮空格和標(biāo)點(diǎn)符號(hào))。例如:讀入句子: MADAM IM ADAM.它是回文,所以輸出:YES讀入句子: ABCDBA). 它不是回文,所以輸出: NO編寫(xiě)程序,其中包括一個(gè)函數(shù),此函數(shù)的功能是:對(duì)一個(gè)長(zhǎng)度為 N 的字符串從其第 K 個(gè)字符起, 刪去 M 個(gè)字符, 組成長(zhǎng)度為 N-M 的新字符串(其中N 、 M=80,K=N)。 例如輸入字符串 Weare poor

25、 students. ,利用此函數(shù)進(jìn)行刪除poor 的處理,輸出處理后的字符串是We arestudents. 。編寫(xiě)函數(shù),通過(guò)指針將一個(gè)字符串反向。編寫(xiě)一個(gè)函數(shù)insert(s1,s2,ch) ,實(shí)現(xiàn)在字符串 s1 中的指定字符ch 位置處插入字符串 s2 。編寫(xiě)程序?qū)⑤斎氲膬尚凶址B接后,將串中全部空格移到串首后輸出。編寫(xiě)程序,輸入字符串,分別統(tǒng)計(jì)字符串中所包含的各個(gè)不同的字符及其各自字符的數(shù)量。如:輸入字符串: abcedabcdcd則輸出: a=2 b=2 c=3 d=3 e=1。利用結(jié)構(gòu): struct complx int real ;int im ;編寫(xiě)求兩個(gè)復(fù)數(shù)之積的函數(shù) c

26、mult ,并利用該函數(shù)求下列復(fù)數(shù)之積:(1) (3+4i) x(5+6i)(2) (10+20i) x(30+40i102 編寫(xiě)成績(jī)排序程序。按學(xué)生的序號(hào)輸入學(xué)生的成績(jī),按照分?jǐn)?shù)由高到低的順序輸出學(xué)生的名次、該名次的分?jǐn)?shù)、相同名次的人數(shù)和學(xué)號(hào);同名次的學(xué)號(hào)輸出在同一行中,一行最多輸出 10個(gè)學(xué)號(hào)。103 編寫(xiě)程序,實(shí)現(xiàn)輸入的時(shí)間屏幕顯示一秒后的時(shí)間。顯示格式為HH:MM:SS 。程序需要處理以下三種特殊情況: TOC o 1-5 h z 若秒數(shù)加 1 后為 60 ,則秒數(shù)恢復(fù)到0 ,分鐘數(shù)增加1 ;若分鐘數(shù)加1 后為60 ,則分鐘數(shù)恢復(fù)到0 ,小時(shí)數(shù)增加1 ;若小時(shí)數(shù)加1 后為24 ,則小時(shí)

27、數(shù)恢復(fù)到0 。104 編寫(xiě)程序,從鍵盤(pán)輸入 3 個(gè)學(xué)生的數(shù)據(jù),將它們存入文件 student ;然后再?gòu)奈募凶x出數(shù)據(jù),顯示在屏幕上。105 編寫(xiě)程序,從鍵盤(pán)輸入一行字符串,將其中的小寫(xiě)字母全部轉(zhuǎn)換成大寫(xiě)字母,然后輸出到一個(gè)磁盤(pán)文件test 中保存。106編寫(xiě)程序,讀入磁盤(pán)上C語(yǔ)言源程序文件test8.c ,刪去程序中的注釋后顯示。printf(Enter your expression:);printf(Enter your expression:);【編寫(xiě)程序題參考答案參考答案:#include main( ) int year ; TOC o 1-5 h z float money,ra

28、te,total ; /* money: 本金 rate: 月利率 total: 本利合計(jì) */ printf(Input money and year =?);scanf(%f%d, &money, &year) ;/* 輸入本金和存款年限*/if(year=1) rate=0.00315;/* 根據(jù)年限確定利率 */else if(year=2)rate=0.00330;else if(year=3)rate=0.00345;else if(year=5)rate=0.00375;else if(year=8)rate=0.00420;else rate=0.0 ;total=money

29、+ money * rate * 12 * year; /* 計(jì)算到期的本利合計(jì)*/printf( Total = %.2fn, total);參考答案:#include main( ) int year, month, days ;printf(Enter year and month:);scanf(%d%d, &year, &month);switch (month) case 1: case3: case 5:case 7:case 8: case 10:case 12:days=31 ;break ;/* 處理大 月 */case 4: case 6: case 9: case 11

30、:days=30 ;break ;/* 處理小 月 */case 2: if(year%4=0&year%100!=0 | year%400=0)days=29 ;/* 處理閏年平月 */else days=28 ;/* 處理不是閏年平月 */break ;default: printf(Input error!n);/* 月份錯(cuò)誤*/days=0 ;if( days!=0 )printf(%d, %d is %d daysn, year, month, days);3 參考答案:#include main ( ) float data1, data2 ;/* 定義兩個(gè)操作數(shù)變量*/char

31、op ;/* 操作符 */* 輸入表達(dá)式*/scanf(%f%c%f, &data1, &op, &data2) TOC o 1-5 h z switch(op) /* 根據(jù)操作符分別進(jìn)行處理*/ case + : /* 處理加法*/printf(%.2f+%.2f=%.2fn, data1, data2, data1+data2); break ;case - : /* 處理減法 */ printf(%.2f-%.2f=%.2fn, data1, data2, data1-data2); break ;case * : /*處理乘法*/printf(%.2f*%.2f=%.2fn, data

32、1, data2, data1*data2); break ;case / : /*處理除法*/if( data2=0 ) /* 若除數(shù)為0 */printf(Division by zero.n) ; else printf(%.2f/%.2f=%.2fn, data1, data2, data1/data2);break ; default: /* 輸入了其它運(yùn)算符*/printf(Unknown operater.n); 4 分析:打印此圖形用兩重循環(huán)實(shí)現(xiàn)。 圖形要重復(fù)n 行,故采用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)循環(huán)n 次,循環(huán)體內(nèi)部打印一行 * 號(hào) ,把上述思路表示為:for(i=1 ; i=n ; i

33、+) 打印一行 * 號(hào); 每行有 n 個(gè) * 號(hào),再采用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)n 次循環(huán),循環(huán)內(nèi)部用格式輸出語(yǔ)句打印一個(gè)* 號(hào),即:for( j=1 ; j=n ; j+) printf(*) ; 按照上述思路,實(shí)現(xiàn)打印矩形。 參考答案: main() int i,j,n ; printf(nPlease Enter n:);scanf(%d,&n) ; for(i=1 ; i=n ; i+) for( j=1 ; j=n ; j+) printf(*) ; printf(n) ; 5 分析:此圖形和上題的區(qū)別在于在每一行先要打印空格,然后再打印n 個(gè)* 號(hào) ,在上題第一層循環(huán)體內(nèi)打印* 號(hào)的循環(huán)前面增

34、加一個(gè)循環(huán)打印空格。每行空格的個(gè)數(shù)是逐行減少的,由于第一層循環(huán)的控制變量i 是逐行增 1 ,所以用一個(gè)固定值的數(shù)減去i 就可實(shí)現(xiàn)對(duì)空格個(gè)數(shù)的控制,在此題中固定值可使用變量 n 。參考答案: main( ) int i,j,n ; printf(nPlease Enter n:);scanf(%d,&n) for(i=1 ; i=n ; i+) for( j=1 ; j=n-i ; j+)printf( );for( j=1 ; j=n ; j+)printf(*) ;printf(n) ;6 分析:此題和上題的區(qū)別在于每行* 的數(shù)量逐行減少,可以使用上題控制空格個(gè)數(shù)的思路來(lái)控制 * 號(hào)的個(gè)數(shù),

35、請(qǐng)注意每行 * 的個(gè)數(shù)都是奇數(shù)。參考答案:main( ) int i,j,n ;printf(nPlease Enter n:);scanf(%d,&n) ;for(i=1 ; i=n ; i+) for( j=1 ; j=n-i ; j+)printf( );for( j=1 ; j=2*i-1; j+)printf(*) ;printf(n) ;7分析:此題圖形是第3題圖形的垂直反轉(zhuǎn),在編程上我們可以變換一個(gè)思路。對(duì)于圖形中的第i行(1 in ),共需要輸出 2n-i 個(gè)字符,其中前面的 i-1 個(gè)字符為空格,后面的字符為* 號(hào)。按照這一思路可以編寫(xiě)出如下程序。參考答案:main( ) i

36、nt i,j,n ; TOC o 1-5 h z printf(nPlease Enter n:);scanf(%d, &n);for( i=1; i=n ; i+ ) /* 重復(fù)輸出圖形的 n 行 */ for( j=1; j=2*n-i; j+ ) /* 重復(fù)輸出圖形一行中的每個(gè)字符*/if( j=i-1) printf( ); /* 輸出前面的空格 */else printf(*) ;/* 輸出后面的 *號(hào) */printf(n) ;分析:此題和第3 題的區(qū)別僅是每行的 * 個(gè)數(shù)增加 n-1 個(gè)。參考答案:main( ) int i,j,n ;printf(nPlease Enter n

37、:);scanf(%d,&n) ;for(i=1 ; i=n ; i+) for( j=1 ; j=n-i ; j+)printf( );for( j=1 ; j=2*i-1+(n-1); j+)printf(*) ;printf(n) ;分析:對(duì)于空心圖形,我們可以在上題的基礎(chǔ)上,對(duì)于打印 * 號(hào)的循環(huán)進(jìn)行修改,僅在循環(huán)開(kāi)始值( j=1) 和循環(huán)結(jié)束值 ( j=2*(i-1)+n) 時(shí)打印 * 號(hào),其它位置都打印空格。另一種思路是將每行打印的空格和 * 的兩個(gè)循環(huán)合為一體考慮,在判斷出需要打印* 的兩個(gè)位置及第一行和最后一行相應(yīng)位置外,其余位置都打印空格。參考答案:main( ) int i

38、,j,n ; TOC o 1-5 h z printf(nPlease Enter n:);scanf(%d,&n) ;for(i=1 ; i=n ; i+) for( j=1 ; jn-i+1 & (i=1|i=n) printf(*);else printf( );printf(*n) ;分析:此圖形可以理解為兩個(gè)空心梯形反向連接而成,因此可以利用上題的思路進(jìn)行輸出。參考答案: main( ) int i,j,n ;printf(nPlease Enter n:);scanf(%d,&n) ;for(i=1 ; i=n ; i+) /* 輸出圖形的上半部分 (含中心行 ) */ for(

39、j=1 ; j=2*n-i-1; j+)if( j=i) printf(*) ; else printf( );printf(*n) ; for(i=1 ; in ; i+) /* 輸出圖形的下半部分(不含中心行) */ for( j=1 ; j=n+i ; j+)if( j=n-i) printf(*) ;else printf( );printf(*n) ;* 號(hào)的位置不同,編程時(shí)要找出應(yīng)打印* 號(hào)的位置和兩個(gè)循環(huán)變量i 、 j 以及分析:此題與上題的區(qū)別在于打印行數(shù) n 的關(guān)系。參考答案:main( ) int i,j,n ; TOC o 1-5 h z printf(nPlease E

40、nter n:);scanf (%d, &n);for(i=1 ; i=n ; i+) /* 輸出圖形的上半部分 (含中心行 ) */ for( j=1 ; jn-i+1 & i=1) printf(*);else printf( );printf(*n) ;for(i=1 ; in ; i+) /* 輸出圖形的下半部分(不含中心行) */ for( j=1 ; ji+1 & i=n-1) printf(*);else printf( );printf(*n) ;參考答案:main( ) int i,j,n ; TOC o 1-5 h z printf(nPlease Enter n:);sc

41、anf(%d,&n) ;for(i=1 ; i=n ; i+) for( j=1 ; j=n ; j+)if( j=n-i+1 | i=1 | i=n) printf(*);else printf( );printf(n) ;參考答案:main( ) int i,j,n ; TOC o 1-5 h z printf(nPlease Enter n: );scanf(%d, &n);for(i=1 ; i=n ; i+) /* 輸出圖形的上半部分 (含中心行 ) */ for( j=1 ; j=n-i ; j+)if( j=1 | j=n-i+1) printf(* );else printf(

42、 );printf(n) ;for(i=1 ; in ; i+) /* 輸出圖形的下半部分(不含中心行) */ for( j=1 ; j=i+1; j+)if( j=1 | j=i+1) printf(* )else printf( );printf(n) ;參考答案:main( ) int i,j,n ;printf(nPlease Enter n: )scanf(%d,&n) ;for(i=1 ; i=n ; i+) for( j=1 ; j=n ; j+)if( j=1 | j=i | j=n) printf(*)else printf( );printf(n) ;參考答案:main(

43、) int i,j,n ;printf(nPlease Enter n: )scanf(%d,&n) ;for(i=1 ; i=n ; i+) for( j=1 ; jn-i) printf(*) ;else printf( );printf(n) ;for(i=1 ; in ; i+) for( j=1 ; ji) printf(*) ;else printf( );printf(n) ;參考答案:main( ) int i,j,n ;printf(nPlease Enter n: )scanf(%d,&n) ;for(i=1 ; i=n ; i+) for( j=1 ; j=n+i-2;

44、j+)if( j=n-i+1) printf(*) ;else printf( ) printf(*n) 17分析:首先對(duì)圖形進(jìn)行設(shè)計(jì),坐標(biāo)的 X軸和Y軸分別對(duì)應(yīng)屏幕的列和行,一個(gè)正弦函數(shù)的周期為0360度,我們把一個(gè)步長(zhǎng)定義為 10 度,打印時(shí)每換一行等于函數(shù)的自變量增加10 度;屏幕的列寬為80 ,函數(shù)值為 0 對(duì)應(yīng)屏幕的第40歹IJ,sin(x)的值在-1-1,變換成列數(shù)為以0為中心的-3030,對(duì)應(yīng)屏幕上第1070歹U。設(shè)計(jì)程序時(shí),控制換行的自變量i 乘以 10 得到正弦函數(shù)的 X 值,調(diào)用庫(kù)函數(shù) sin() 求出函數(shù)值再乘以 30 輸出的列寬,因?yàn)槲覀円云聊坏牡?0 列為 0 點(diǎn),故

45、再加上40 得到應(yīng)在屏幕上顯示的點(diǎn)。參考答案:#define PAI 3.14159#include main( ) double x ;int y,i,yy ;for(i=1 ; i80 ; i+) /* 打印圖形的第一行*/if(i=40) printf(*) ;/* i 控制打印的列位置*/ else printf(-) ;printf(n) ;for(x=10.0; xy ? 40 : y ; /* 下一行要打印的字符總數(shù) */for (i=1; i=yy ; i+) /* 控制輸出圖形中的一行 */ if(i=y) printf(*) ;/* i 控制打印的列位置*/else if(

46、i=40) printf(|) ;/* 打印中心的豎線 */else printf( );printf(n) ;18 分析:首先設(shè)計(jì)屏幕圖形,如果預(yù)計(jì)圓形在屏幕上打印20 行,所以定義圓的直徑就是20 ,半徑為 10 ,圓的方程是X2 XY2=R2,因?yàn)閳D形不是從中心開(kāi)始打印而是從邊沿開(kāi)始,所以丫從10變化到-10 ,根據(jù)方程求出 X,對(duì)求得的 X 值再根據(jù)屏幕行寬進(jìn)行必要的調(diào)整得到應(yīng)打印的屏幕位置。參考答案:#include main( ) double y ;int x,m ;for(y=10 ; y=-10 ; y-) /* 圓的半徑為10 */ m = 2.5 * sqrt(100-y

47、*y);/* 計(jì)算行 y 對(duì)應(yīng)的列坐標(biāo)m */for(x=1 ; x30-m ; x+)printf( );/* 輸出圓左側(cè)的空白 */printf(*) ;/* 輸出圓的左側(cè) */for( ; x30+m ; x+)printf( );/* 輸出圓的空心部分*/printf(*n) ; /* 輸出圓的右側(cè) */19 參考答案:#include #include main( ) double y ;int x, m, n, yy ;for( yy=0 ; yy=20 ; yy+) TOC o 1-5 h z y = 0.1*yy;m = acos(1-y)*10;n = 45 * (y-1)+

48、31;for( x=0 ; x=62 ; x+ )if( x=m & x=n ) printf(+);else if(x=n) printf(+) ;else if(x=m | x=62-m) printf(*);else printf( );printf(n) ;分析:編程的關(guān)鍵為兩點(diǎn),一是使用控制輸出的行和列,這方面的內(nèi)容在前面已經(jīng)敘述,另一點(diǎn)是輸出的數(shù)字和所在行、列關(guān)系。此題第一行輸出的數(shù)字恰好是列數(shù),從第二行起每行的數(shù)字均比上一行增 n參考答案:main( ) int i,j,n ;printf(nPlease Enter n: );scanf(%d,&n) ;for(i=1 ; i=

49、n ; i+) for( j=1 ; j=n ; j+)printf(%4d,(i-1)*n+j);printf(n) ;分析:此題的關(guān)鍵是找到輸出數(shù)字和行、列數(shù)的關(guān)系。審查圖形中每行中數(shù)字的關(guān)系發(fā)現(xiàn),右邊數(shù)字和前面數(shù)字之差逐次增1 ;同列數(shù)字依然是這樣的關(guān)系,編程的關(guān)鍵轉(zhuǎn)換為找到每一行左方的第一個(gè)數(shù)字,然后利用行和列的循環(huán)變量進(jìn)行運(yùn)算就可得到每個(gè)位置的數(shù)字。用 ai,j 此表示第 i 行第 j 列的數(shù)字,則 a11=1 ;由第 i 行第一列的數(shù)字推出第i+1 行第一列的數(shù)字是ai+1,1 = ai,1+i ;同樣由第j 列推出第 j+1 列的數(shù)字是ai,j+1 = ai,j+i+j 。另外只

50、有當(dāng) ji 時(shí)才輸出數(shù)字。參考答案:main( ) int i,j,m,n,k=1;/* k 是第一列元素的值 */printf(Please enter m= );scanf(%d,&m) ;for(i=1 ; i=m ; i+) n=k ;/* n 第 i 行中第 1 個(gè)元素的值*/for( j=1 ; j=m-i+1; j+) printf(%3d,n) ;n = n+i+j ;/* 計(jì)算同行下一個(gè)元素的值 */printf(n) ;k=k+i ; /* 計(jì)算下一行中第1 個(gè)元素 */參考答案:main( ) int i,j,n ; TOC o 1-5 h z printf(nPleas

51、e Enter n: );scanf(%d,&n) ;for(i=1 ; i=n ; i+) for( j=1 ; j=n ; j+)if( j=i 且 j=n-i+1 ;下區(qū): j=n-i+1 ;左區(qū): ji 且 ji 且 jn-i+1?,F(xiàn)在問(wèn)題是, 如果知道一行在不同區(qū)域開(kāi)始第一個(gè)位置的數(shù)字, 然后該區(qū)后續(xù)的數(shù)字就可利用前面分析的規(guī)律得到。對(duì)于右區(qū)開(kāi)始各行第一個(gè)數(shù)字最易求出,為 4*(n-1)-i+1 。后續(xù)一個(gè)和同行前一個(gè)數(shù)字之差是4*n-1-( j-1)*2+1,其中方括號(hào)內(nèi)是每邊的數(shù)字個(gè)數(shù)。對(duì)角線上的數(shù)字是分區(qū)點(diǎn),對(duì)角線上相臨數(shù)字仍然相差一圈數(shù)字個(gè)數(shù),讀者自行分析得到計(jì)算公式。右區(qū)開(kāi)

52、始的第一個(gè)數(shù)字可以從上區(qū)結(jié)束時(shí)的數(shù)字按規(guī)律求出。下述程序用變量s 保存分區(qū)對(duì)角線上的數(shù)字。參考答案一:main() TOC o 1-5 h z int i,j,k,n,s,m,t;printf(Please enter n:);scanf(%d,&n);for(i=1 ; i=n ; i+) s=(i=(n+1)/2)? 1:3*(n-(n-i)*2-1)+1;m=(i=(n+1)/2)? i:n-i+1;/* m-1 是外層圈數(shù) */for(k=1 ; km ; k+) s+=4*(n-2*k+1);for( j=1 ; j=n-i+1 & j=i & ji & jn-i+1) /* 右區(qū)

53、*/t-=4*(n-2*(n-j+1)+1;if( ji & jn-i+1) /*左區(qū)*/ if( j=1) t=4*(n-1)-i+2;else t+=4*(n-2*j+1)+1;printf(%4d,t) ;printf(n) ;方案二:根據(jù)本題圖形的特點(diǎn),我們可以構(gòu)造一個(gè)遞歸算法。我們可以將邊長(zhǎng)為 N 的圖形分為兩部分:第一部分最外層的框架,第二部分為中間的邊長(zhǎng)為 N-2 的圖形。對(duì)于邊長(zhǎng)為 N的正方型,若其中每個(gè)元素的行號(hào)為 i ( 1 iN ),列號(hào)為j (1 j 1)若令:ai,j=fun(ai-1,i-1+4(N-2i-1),當(dāng):i(N+1)/2 且 j(N+1)/2 時(shí),min

54、=MIN(i,j),則有:a2,2 = fun(a1,1, min, min, n)ai,j=fun(a2,2, i-min+1, j-min+1, n-2*(min-1) )我們可以根據(jù)上述原理,分別推導(dǎo)出 i 和 j 為其它取值范圍時(shí)的 min 取值。根據(jù)上述遞歸公式,可以得到以下參考 程序。參考答案二:#include #define MIN(x,y) (xy) ? (y) : (x)fun ( int a11, int i, int j, int n) int min, a22;if( i=j & i=1 ) return(a11);else if( i=j & i=(n+1)/2 &

55、 j=(n+1)/2) min = MIN(n-i+1,n-j+1);else if(i=(n+1)/2) min = MIN(i,n-j+1);else if(i=(n+1)/2 & j(n+1)/2) min = MIN(n-i+1,j);else min = MIN(i,j);a22 = fun(a11,min,min,n);return(fun(a22, i-min+1, j-min+1, n-2*(min-1); main() int a11=1, i, j, n; printf(Enter n=); scanf(%d, &n);for(i=1; i=n; i+) for( j=1;

56、 j=n; j+) printf(%4d, fun(a11,i,j,n) );printf(n);aij 和行列數(shù) i 、 j 的關(guān)系。為此將圖形分為四個(gè)區(qū)域如下圖: 24 分析:此題的關(guān)鍵還是要找到輸出數(shù)字3 2 1 2 33 2 2 2 33 3 3 3 3 ( 此圖 n 為 5)在左上區(qū)域,即 i=(n+1)/2、 j=(n+1)/2 時(shí),輸出數(shù)字為(n+1)/2-i+1 和 (n+1)/2-j+1 中的大者,記為max(n+1)/2-i+1,(n+1)/2-j+1;在右上區(qū), 即 i(n+1)/2 時(shí) , 輸出數(shù)字為max(n+1)/2-i+1,j-n/2在左下區(qū), 即 i(n+1)/

57、2、 j(n+1)/2、j(n+1)/2時(shí),輸出數(shù)字為maxi-n/2,j-n/2。參考答案:#define max(x,y) (x)(y)?(x):(y)main( ) int i,j,n ;printf(nPlease Enter n:);scanf(%d,&n) ;for(i=1 ; i=n ; i+) for(j=1 ; j=n ; j+)if(i=(n+1)/2)if(j=(n+1)/2) TOC o 1-5 h z printf(%4d,max(n+1)/2-i+1,(n+1)/2-j+1);elseprintf(%4d,max(n+1)/2-i+1,j-n/2);else if(

58、j=(n+1)/2)printf(%4d,max(i-n/2,(n+1)/2-j+1);elseprintf(%4d,max(i-n/2,j-n/2);printf(n) ; 25 分析:前面我們已經(jīng)見(jiàn)到過(guò)上下對(duì)稱(chēng)的圖形,這是一個(gè)左右對(duì)稱(chēng)的圖形,垂直中心線上的數(shù)字恰好是行號(hào),在for(i=1 ; in ; i+) for(j=1 ; j=2*(n-1)-i; j+)for(i=1 ; in ; i+) for(j=1 ; j=2*(n-1)-i; j+)每行位于圖形垂直中心線左方的數(shù)字是逐漸增加的,而右方是逐漸減小的。j=i 是分區(qū)的標(biāo)志,左方輸出數(shù)字就是列數(shù) j ,而右方的數(shù)字從i 開(kāi)始逐步

59、減小 1 。參考答案:main() int i,j ;for(i=1 ; i=9 ; i+) for(j=1 ; j=9-i ; j+) printf( );for(j=1 ; j=1 ; j-) printf(%2d,j) ;printf(n) ;26 分析:這類(lèi)輸出字符的圖形和輸出數(shù)字的圖形考慮是近似的,因?yàn)樽址?ASCII 碼就是一個(gè)整數(shù)。在字符碼值的變化過(guò)程中,應(yīng)該注意應(yīng)該判斷碼值是否超出字符的范圍,進(jìn)行必要的處理,為了保持程序的簡(jiǎn)潔,本題沒(méi)有考慮這個(gè)問(wèn)題,在下題里對(duì)這個(gè)問(wèn)題進(jìn)行了處理。參考答案:main( ) TOC o 1-5 h z char c=Z;int i,j,n ;pr

60、intf(nPlease Enter n:);scanf(%d,&n) ;for(i=1 ; i=n ; i+) for(j=1 ; j=n+i-2; j+)if(j=n-i+1) printf(%c,c-);else printf( );printf(%cn,c-);if(j=i+1) printf(%c,c-)else printf( );printf(%cn,c-);27 分析:此題與上題相近,區(qū)別在于輸出時(shí)字符的 ASCII 碼值的變化在圖形的中間一行為最大,同時(shí)一行的兩個(gè)字符是相同的。程序考慮在輸入字符時(shí)設(shè)計(jì)了一個(gè)循環(huán),保證輸入的是英文字母。字符變化后進(jìn)行了處理,程序中使用條件運(yùn)算。

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論