版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1已知銀行整存整取存款不同期限的月息利率分別為:0.315%期限一年0.330%期限二年月息利率 =0.345%期限三年0.375%期限五年0.420%期限八年要求輸入存錢的本金和期限,求到期時能從銀行得到的利息與本金的合計。2輸入年份year和月month,求該月有多少天。判斷是否為閏年,可用如下C語言表達(dá)式:year%4=0& year%100!=0 | year%400=0。若表達(dá)式成立(即表達(dá)式值為1),_則year為閏年;否則,表達(dá)式不成立(即值為 0), year為平年。3編寫一個簡單計算器程序,輸入格式為:datal op data2。其中datal和data2是參加運(yùn)算的兩個數(shù)
2、,op為運(yùn)算符,它的取值只能是+、-、*、/。4輸入n值,輸出如圖所示矩形*3學(xué)朵那輩羋羋#*+=* #: # 水 * *圖4丄n弟時的矩形5輸入n值,輸出如圖所示平行四邊形ale土丄吳丄T-T- i-T-t4- r*:*章*團(tuán)2 6時的平行四邊形6輸入n值,輸出如圖所示高為n的等腰三角形。+ * Jt0 4. 3 n=6時的等35三角形* *;富*-*T1TiTTTT1* * Mf4b+ +亦* * *S4.4時的倒等膻三角形8輸入n值,輸出如圖所示高和上底均為n的等腰梯形。雜席;襪*水*耀圖4宮滬5時的等Bf梯形9輸入n值,輸出如圖所示高和上底均為n的等腰空心梯形。圖滬5時的空心等腱梯形1
3、0輸入n值,輸出如圖所示邊長為n的空心正六邊型* 羋* 羋+*H 4. ? 11=5時的空心正六:邊型11輸入n值,輸出如圖所示圖形*氷* *半半* * *圖4.E妒5時的X形12輸入n值,輸出如圖所示圖形13輸入n值,輸出如圖所示圖形14輸入n值,輸出如圖所示圖形圖4.12 n=5時的川形15輸入n值,輸出如圖所示圖形*卑* #::家 * * *圖4.12滬3時的菱形16輸入n值,輸出如圖所示圖形。(例為n=6時)X *+ +本半S4.13 n=5時的上禊形17編寫程序,輸出如圖所示 sin(x)函數(shù)0到2 n的圖形*半*圖4應(yīng)止弦曲線18編寫程序,在屏幕上輸岀一個由*號圍成的空心圓x軸,縱
4、向?yàn)閥軸, 在屏幕上顯示 0360度19編寫程序,在屏幕上繪制如圖余弦曲線和直線。若屏幕的橫向?yàn)榈腸os(x)曲線與直線x=f(y)=45*(y-1)+31的迭加圖形。其中cos圖形用*表示,f(y)用+表示,在兩個圖形的交點(diǎn)處則用f(y)圖形的符號*+卡羋+卡+十+耳*ffl4.15* 半+*+十 羋+屮+*十十余弦曲線和直線20編寫程序,輸出如圖所示高度為n的圖形12345678g101112131415IS17181920212223242526272B2330313233343536ffl4.16n.=6 時的馥宇正方形21編寫程序,輸出如圖所示高度為n的圖形136L016 21259
5、142043131371218111716圖4瓏町帀時的數(shù)宇倒三甬22輸入n值,輸出如圖所示圖形1 2; 3 4 5112 3 4111231111211111n畔時的敎宇袒形23輸入n值,輸出如圖所示的n x n(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時的螺旋方陣24輸入n值,輸出如圖所示回型方陣。3333333 23 233222233 2 23321123當(dāng)n=5時=3 21 23當(dāng)n=6時:3211233 32 333222233 33 3333333圖420回融右
6、陣25輸岀如圖所示的數(shù)字金字塔11 2 1a321134S211234543211234565432112345a7S543211234557876643211 234567898765432 1圖4. 21滬5時的數(shù)宇金宇塔26輸入n值,輸出如圖所示圖形Y1WVuTsRRQP0N11L圖4.脾n=5時的空心菱刑27輸入頂行字符和圖形的高,輸出如圖所示圖形Afi BCCDDEEDDCCE BA圖4酮頂行宇符為KG高旅的菱形28輸入首字符和高后,輸出如圖所示回型方陣。A A A A AA B B B AA A A A A圖4.24首字符為A、高為5的方陣29輸入中心字符和高后,輸出如圖所示回型方
7、陣。X X X X XX Y Y Y XX Y Z Y XX Y Y Y YX X X X X圖4.25中心字符為Z、高為5的方陣30編寫程序,輸出如圖所示上三角形式的乘法九九表123 466789123 456794& 3101214161SS 1215162124271S2024283236253035404636424S54495663S472S1圖4. 20上三角乘法扎扎表31編寫程序,輸出如圖所示下三角乘法九九表123456798164724956S336424354263Q3540451620242Q3235g1215182124274 68101214ISIS12 345678q
8、ffi 4. 27下三角乘法丸九表32編寫程序,輸入三角型的三條邊長,求其面積。注意:對于不合理的邊長輸入要輸岀數(shù)據(jù)錯誤的提示信息。33編寫程序求出 555555的約數(shù)中最大的三位數(shù)是多少。34編寫程序計算下列算式的值:S1)直到某一項(xiàng)A=0.000001時為止。輸出最后C的值。35從鍵盤輸入任意的字符,按下列規(guī)則進(jìn)行分類計數(shù)。第一類0,1,2,3,4,5,6,了,8,9第二類+,-,*,/,%,=第三類其它字符當(dāng)輸入字符時先計數(shù),然后停止接收輸入,打印計數(shù)的結(jié)果。(t)36對從鍵盤上輸入的行、單詞和字符進(jìn)行計數(shù)。我們將單詞的定義進(jìn)行化簡,認(rèn)為單詞是不包含空格、制表符編寫程序,要求輸入x和,按
9、上述公式計算sin(x)的近似值,要求計算的誤差小于給定的字符。一般用CTRL+D作為文件結(jié)束標(biāo)記,其字符碼值為-1,當(dāng)輸入CTRL+D時表示文件輸入結(jié)束,停止計數(shù)。epsilon (例如:epsilon=0.000001 )37編寫程序計算當(dāng)x=0.5時下述級數(shù)和的近似值,使其誤差小于某一指定的值x - + + *8 1 * 8 *3*1J 5+27+3!38編寫程序計算下式的值:1005010 1Ek十十巨k=lmk=l k39編寫程序計算下列序列的值:1111 11+十十+1X22X33X4 4X5IJX(N+1)要求最后一項(xiàng)小于0.001時、或者當(dāng) N=20時尚未達(dá)到精度要求,則停止計
10、算。40已知求正弦 sin(x)的近似值的多項(xiàng)式公式為:J Hsin(z) - x+ +3 5J ??!十O十(2n+l)!41 從鍵盤輸入十個整數(shù),用插入法對輸入的數(shù)據(jù)按照從小到大的順序進(jìn)行排序,將排序后的結(jié)果輸出。42 輸入一個正整數(shù),要求以相反的順序輸出該數(shù)。例如輸入12345 ,輸出位 54321 。43編寫程序,讀入一個整數(shù)N;若N為非負(fù)數(shù),則計算N到2 XN之間的整數(shù)和;若N為一個負(fù)數(shù),則求2XN到N之間的整數(shù)和。分別利用for和while寫出兩個程序。44 求解愛因斯坦數(shù)學(xué)題。有一條長階梯,若每步跨2 階,則最后剩余 1 階,若每步跨 3 階,則最后剩 2 階,若每步跨 5 階,則
11、最后剩 4 階,若每步跨 6 階則最后剩 5 階,若每步跨 7 階,最后才正好一階不剩。請問,這條階梯共 有多少階 ?45 一個自然數(shù)被 8除余1,所得的商被 8除也余1,再將第二次的商被8除后余7,最后得到一個商為a。又知這個自然數(shù)被17除余4, ?所得的商被17除余15,最后得到一個商是a的2倍。編寫程序求這個自然數(shù)。46 編寫程序,用二分法求一元二次方程2x3-4x2+3x-6=0 在( 10, 10)區(qū)間的根47中國古代科學(xué)家祖沖之采用正多邊形逼近的割圓法求出了n的值。請編寫一程序,采用割圓法求出n的值,要求精確到小數(shù)點(diǎn)之后的第十位。48A、B、C、D、E 五人在某天夜里合伙去捕魚,到
12、第二天凌晨時都疲憊不堪,于是各自找地方睡 覺。日上三竿, A 第一個醒來,他將魚分為五份,把多余的一條魚扔掉,拿走自己的一份。B 第二個醒來,也將魚分為五份,把多余的一條魚扔掉,拿走自己的一份。C、D、E 依次醒來,也按同樣的方法拿魚。編寫程序求出他們合伙至少捕了多少條魚。49 一輛卡車違犯交通規(guī)則,撞人逃跑。現(xiàn)場三人目擊事件,但都沒記住車號,只記下車號的一些 特征。甲說:牌照的前兩位數(shù)字是相同的;乙說:牌照的后兩位數(shù)字是相同的;丙是位數(shù)學(xué)家, 他說:四位的車號剛好是一個整數(shù)的平方。請根據(jù)以上線索求出車號。50若一個口袋中放有 12個球,其中有 3個紅的, 3個白的和 6 個黑的,每次從中任取
13、 8個球,編 寫程序求出共有多少種不同的顏色搭配。51100匹馬馱100擔(dān)貨,大馬一匹馱3擔(dān),中馬一匹馱2擔(dān),小馬兩匹馱1擔(dān)。試編寫程序計算 大、中、小馬的數(shù)目。52編寫程序,輸出用一元人民幣兌換成 1 分、2分和 5分硬幣的不同兌換方法。53 顯示 200 以內(nèi)的完全平方數(shù)和它們的個數(shù)。(完全平方數(shù): A2+B2=C2, 求 A 、B、C)54 設(shè) N 是一個四位數(shù),它的 9 倍恰好是其反序數(shù)(例如: 123 的反序數(shù)是 321 ),求 N 的值。55 將一個數(shù)的數(shù)碼倒過來所得到的新數(shù)叫原數(shù)的反序數(shù)。如果一個數(shù)等于它的反序數(shù),則稱它為 對稱數(shù)。求不超過 1993 的最大的二進(jìn)制的對稱數(shù)。56
14、 編寫程序求解下式中各字母所代表的數(shù)字。PEAR-ARAPEA57 一個自然數(shù)的七進(jìn)制表達(dá)式是一個三位數(shù),而這個自然數(shù)的九進(jìn)制表示也是一個三位數(shù),且這 兩個三位數(shù)的數(shù)碼順序正好相反,求這個三位數(shù)。58 請驗(yàn)證 2000 以內(nèi)的哥德巴赫猜想,對于任何大于 4 的偶數(shù)均可以分解為兩個素數(shù)之和59 如果一個正整數(shù)等于其各個數(shù)字的立方和,則稱該數(shù)為阿姆斯特朗數(shù)(亦稱為自戀性數(shù))。如 407=43+03+73 就是一個阿姆斯特朗數(shù)。編寫程序求 1000 以內(nèi)的所有阿姆斯特朗數(shù)。60 任意輸入一個偶數(shù),請將它分解為兩個素數(shù)之和。61如果整數(shù)A的全部因子(包括1,不包括A本身)之和等于E;且整數(shù)E的全部因子
15、(包括1,不包括E本身)之和等于A,則將整數(shù)A和E稱為親密數(shù)。求3000以內(nèi)的全部親密數(shù)。62 猜數(shù)游戲。由計算機(jī) 想 一個數(shù)請人猜,如果人猜對了,則結(jié)束游戲,否則計算機(jī)給出提示, 告訴人所猜的數(shù)是太大還是太小,直到人猜對為止。計算機(jī)記錄人猜的次數(shù),以此可以反映出猜 數(shù)者 猜 的水平。63 編寫程序求出 1000! 后有多少個零。64 求矩陣 A2*3 的轉(zhuǎn)置矩陣 B3*2 。設(shè)矩陣 A 為:廠1 2 31廠1 4 1A =11 B =1 2 5L4 5 63 68 塊,6 塊,第65十個小孩圍成一圈分糖果,老師分給第一個小孩10塊,第二個小孩 2塊,第三個小孩第四個小孩 22 塊,第五個小孩
16、 16 塊,第六個小孩 4 塊,第七個小孩 10 塊,第八個小孩 九個小孩 14 塊,第十個小孩 20 塊。然后所有的小孩同時將自己手中的糖分一半給右邊的小孩; 糖塊數(shù)為奇數(shù)的人可向老師要一塊。問經(jīng)過這樣幾次調(diào)整后大家手中的糖的塊數(shù)都一樣?每人各 有多少塊糖?66輸入5 X 5的數(shù)組,編寫程序?qū)崿F(xiàn):(1) 求出對角線上各元素的和;(2) 求出對角線上行、列下標(biāo)均為偶數(shù)的各元素的積;(3) 找出對角線上其值最大的元素和它在數(shù)組中的位置。67 編寫程序,以字符形式輸入一個十六進(jìn)制數(shù),將其變換為一個十進(jìn)制整數(shù)后輸出。68 編寫程序,輸入一個十進(jìn)制整數(shù),將其變換為二進(jìn)制后儲存在一個字符數(shù)組中。69 編
17、寫程序,輸出 1000 以內(nèi)的所有完數(shù)及其因子。所謂完數(shù)是指一個整數(shù)的值等于它的因子之 和,例如 6 的因子是 1、2、3,而 6=1+2+3 ,故 6是一個完數(shù)。70對數(shù)組A中的N (Ov N v 100 =個整數(shù)從小到大進(jìn)行連續(xù)編號,輸出各個元素的編號。要求不能改變數(shù)組A中元素的順序,且相同的整數(shù)要具有相同的編號。例如數(shù)組是:A=(5,3,4,7,3,5,6) 則輸出為: (3,1,2,5,1,3,4)71 現(xiàn)將不超過 2000 的所有素數(shù)從小到大排成第一行, 第二行上的每個數(shù)都等于它右肩 上的素數(shù)與左肩 上的素數(shù)之差。請編程求出:第二行數(shù)中是否存在這樣的若干個連續(xù)的整數(shù),它們的和恰好是
18、1898 ?假如存在的話,又有幾種這樣的情況?第一行: 2 3 5 7 11 13 17 1 979 1987 1993第二行: 1 2 2 4 2 4 8 672 將 1、2、3、4、5、6、7、8、9 九個數(shù)字分成三組,每個數(shù)字只能用一次,即每組三個數(shù)不許 有重復(fù)數(shù)字,也不許同其它組的三個數(shù)字重復(fù),要求將每組中的三位數(shù)組成一個完全平方數(shù)。73 一個自然數(shù)的七進(jìn)制表達(dá)式是一個三位數(shù),而這個自然數(shù)的九進(jìn)制表示也是一個三位數(shù),且這 兩個三位數(shù)的數(shù)碼順序正好相反,求這個三位數(shù)。74 使用數(shù)組精確計算 M/N(0MN 1)個元素的一維數(shù)組中,數(shù)組的每個元素存放一位十進(jìn)制數(shù),即商的第一位存放在第一個元
19、素中,商的第二位存放在第二個元素中,依次類推。這樣可使用數(shù)組來表示計算的結(jié)果。75使用數(shù)組完成兩個超長(長度小于10 0)正整數(shù)的加法。為了實(shí)現(xiàn)高精度的加法,可將正整數(shù)M存放在有N(N1)個元素的一維數(shù)組中,數(shù)組的每個元素存放一位十進(jìn)制數(shù),即個位存放在第一個元素中,十位存放在第二個元素中,依次類推。這樣通過對數(shù)組中每個元素的按位加法就可實(shí)現(xiàn)對超長正整數(shù)的加法。76 使用數(shù)組完成兩個超長(長度小于100)正整數(shù)的加法。為了實(shí)現(xiàn)高精度的加法,可將正整數(shù)M存放在有N(N1)個元素的一維數(shù)組中,數(shù)組的每個元素存放一位十進(jìn)制數(shù),即個位存放在第一個元素中,十位存放在第二個元素中,依次類推。這樣通過對數(shù)組中
20、每個元素的按位加法就可實(shí)現(xiàn)對超長正整數(shù)的加法。77 使用數(shù)組完成兩個超長(長度小于100)正整數(shù)的乘法78 馬步遍歷問題:已知國際象棋棋盤有8*8 共 64 個格子。設(shè)計一個程序,使棋子從某位置開始跳馬,能夠把棋盤上的格子走遍。每個格子只允許走一次。79 八皇后問題:在一個8X8的國際象棋盤,有八個皇后,每個皇后占一格;要求棋盤上放上八個皇后時不會出現(xiàn)相互 攻擊 的現(xiàn)象,即不能有量個皇后在同一行、列或?qū)蔷€上。問共有多少種不同的方法。80 編制一個計算函數(shù) y=f(x) 的值程序,其中:-x + 2.5 0= x 2y= 2 - 1.5(x-3)*(x-3) 2= x 4x/2 - 1.5 4
21、= x 1)請編寫遞歸程序?qū)崿F(xiàn)。88 編寫函數(shù),采用遞歸方法實(shí)現(xiàn)將輸入的字符串按反序輸出。89 編寫函數(shù),采用遞歸方法在屏幕上顯示如下楊輝三角形:11 11 2 11 3 3 11 5 10 10 5 190 編寫函數(shù),采用遞歸方法將任一整數(shù)轉(zhuǎn)換為二進(jìn)制形式。91設(shè)有字母a、b、c,請編程用遞歸的方法產(chǎn)生由這些字母組成的,且長度為n的所有可能的字符串。例如,輸入 n=2 ,則輸出:aa ab ac ba bb bc ca cb cc92 將一個數(shù)的數(shù)碼倒過來所得到的新數(shù),叫作原數(shù)的反序數(shù),如果一個數(shù)等于它的反序數(shù),則稱 它為對稱數(shù)。編寫程序,采用遞歸算法求不超過1993 的最大的二進(jìn)制的對稱數(shù)
22、。93從1到n(n1000)個自然數(shù)中選出r個數(shù)進(jìn)行組合,并按指定的格式輸出組合的結(jié)果。例如:n=5, r=3 時,共有 10種組合,運(yùn)行程序,要按下面的格式輸出:12 3453 454 5234545345請用遞歸算法實(shí)現(xiàn)。94 從鍵盤輸入十個整數(shù),用合并排序法對輸入的數(shù)據(jù)按照從小到大的順序進(jìn)行排序,將排序后的結(jié)果輸出。95編寫程序,讀入一個以符號 .結(jié)束的長度小于 20字節(jié)的英文句子,檢查其是否為回文(即正 讀和反讀都是一樣的,不考慮空格和標(biāo)點(diǎn)符號)。例如:讀入句子: MADAM IM ADAM.它是回文,所以輸出:YES讀入句子: ABCDBA). 它不是回文,所以輸出: NO96 編寫
23、程序,其中包括一個函數(shù),此函數(shù)的功能是:對一個長度為 N 的字符串從其第 K 個字符 起,刪去 M 個字符, 組成長度為 N-M 的新字符串 (其中 N、M=80,K=N) 。例如輸入字符串 We are poor students. ,利用此函數(shù)進(jìn)行刪除 poor 的處理,輸出處理后的字符串是We are students. 。97 編寫函數(shù),通過指針將一個字符串反向。98 編寫一個函數(shù) insert(s1,s2,ch) ,實(shí)現(xiàn)在字符串 s1 中的指定字符 ch 位置處插入字符串 s2。99 編寫程序?qū)⑤斎氲膬尚凶址B接后,將串中全部空格移到串首后輸出。100 編寫程序,輸入字符串,分別統(tǒng)
24、計字符串中所包含的各個不同的字符及其各自字符的數(shù)量。 如:輸入字符串: abcedabcdcd則輸出: a=2 b=2 c=3 d=3 e=1 。101 利用結(jié)構(gòu): struct complx int real ;int im ;編寫求兩個復(fù)數(shù)之積的函數(shù) cmult ,并利用該函數(shù)求下列復(fù)數(shù)之積:(3+4i) X (5+6i) (10+20i) X (30+40i102編寫成績排序程序。按學(xué)生的序號輸入學(xué)生的成績,按照分?jǐn)?shù)由高到低的順序輸出學(xué)生的名次、該名次的分?jǐn)?shù)、相同名次的人數(shù)和學(xué)號;同名次的學(xué)號輸出在同一行中,一行最多輸出 10個 學(xué)號。103 編寫程序,實(shí)現(xiàn)輸入的時間屏幕顯示一秒后的時間
25、。顯示格式為HH:MM:SS 。程序需要處理以下三種特殊情況: 若秒數(shù)加 1 后為 60 ,則秒數(shù)恢復(fù)到0,分鐘數(shù)增加1; 若分鐘數(shù)加 1 后為 60 ,則分鐘數(shù)恢復(fù)到0,小時數(shù)增加1; 若小時數(shù)加 1 后為 24 ,則小時數(shù)恢復(fù)到0。104 編寫程序,從鍵盤輸入 3 個學(xué)生的數(shù)據(jù),將它們存入文件 student ;然后再從文件中讀出數(shù)據(jù), 顯示在屏幕上。105 編寫程序,從鍵盤輸入一行字符串,將其中的小寫字母全部轉(zhuǎn)換成大寫字母,然后輸出到一個磁盤文件 test 中保存。106編寫程序,讀入磁盤上C語言源程序文件test8.c ,刪去程序中的注釋后顯示?!揪帉懗绦蝾}參考答案1 參考答案: #i
26、nclude main( ) int year ;float money,rate,total ; /* money: 本金 rate: 月利率 total: 本利合計 */ 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
27、 if(year=8) rate=0.00420 ;else rate=0.0 ;total=money + money * rate * 12 * year ; /* 計算到期的本利合計 */ printf( Total = %.2fn, total);2 參考答案:#include main( ) int year, month, days ;printf(Enter year and month:) ; scanf(%d%d, &year, &month) ; switch (month) case 1: case 3: case 5: case 7: case 8: case 10:
28、case 12: days=31 ; break; /* 處理 大月 */ case 4: case 6: case 9: case 11: 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); /* 月份錯誤 */days=0 ;if( days!=0 )printf(%d, %d is %d daysn, year
29、, month, days);3 參考答案:#include main ( ) float data1, data2 ; /* 定義兩個操作數(shù)變量 */ char op ; /* 操作符 */printf(Enter your expression:) ;scanf(%f%c%f, &data1, &op, &data2) ; /* 輸入表達(dá)式 */switch(op) /* 根據(jù)操作符分別進(jìn)行處理 */ case + : /* 處理加法 */ printf(%.2f+%.2f=%.2fn, data1, data2, data1+data2) ; break ; case - : /* 處理
30、減法 */printf(%.2f-%.2f=%.2fn, data1, data2, data1-data2) ; break ;case * : /* 處理乘法 */printf(%.2f*%.2f=%.2fn, data1, data2, data1*data2); break ;case / : /* 處理除法 */if( data2=0 ) /* 若除數(shù)為 0 */printf(Division by zero.n);elseprintf(%.2f/%.2f=%.2fn, data1, data2, data1/data2) ;break ;default: /* 輸入了其它運(yùn)算符 *
31、/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)部打印一行* 號 ,把上述思路表示為:for(i=1 ; i=n ; i+)打印一行 * 號;每行有 n 個* 號,再采用循環(huán)結(jié)構(gòu)實(shí)現(xiàn) n 次循環(huán),循環(huán)內(nèi)部用格式輸出語句打印一個 * 號,即: 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+)
32、for(j=1 ; j=n ; j+)printf(*) ;printf(n) ;5 分析:此圖形和上題的區(qū)別在于在每一行先要打印空格,然后再打印n 個 * 號 ,在上題第一層循環(huán)體內(nèi)打印* 號的循環(huán)前面增加一個循環(huán)打印空格。每行空格的個數(shù)是逐行減少的,由于第一層循環(huán)的控制變量 i 是逐行增 1,所以 用一個固定值的數(shù)減去 i 就可實(shí)現(xiàn)對空格個數(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+)pri
33、ntf( ) ;for(j=1 ;j=n ;j+) printf(*) ; printf(n) ;6 分析:此題和上題的區(qū)別在于每行 * 的數(shù)量逐行減少,可以使用上題控制空格個數(shù)的思路來控制 * 號的個數(shù),請 注意每行 * 的個數(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題圖形的
34、垂直反轉(zhuǎn),在編程上我們可以變換一個思路。對于圖形中的第i行(1 i n),共需要輸出 2n-i 個字符,其中前面的 i-1 個字符為空格,后面的字符為 * 號。按照這一思路可以編寫出如下程序。 參考答案:main( ) int i,j,n ;printf(nPlease Enter n:);scanf(%d, &n) ;for( i=1 ; i=n ; i+ ) /*重復(fù)輸出圖形的n行*/ for( j=1; j=2*n-i ; j+ ) /* 重復(fù)輸出圖形一行中的每個字符 */if(j=i-1) printf( );/* 輸出前面的空格 */else printf(*) ;/* 輸出后面的
35、*號 */printf(n) ;8 分析:此題和第 3 題的區(qū)別僅是每行的 * 個數(shù)增加 n-1 個。 參考答案: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+(n-1) ; j+)printf(*) ; printf(n) ;9 分析:對于空心圖形,我們可以在上題的基礎(chǔ)上,對于打印 * 號的循環(huán)進(jìn)行修改,僅在循環(huán)開始值 (j=1) 和循環(huán)結(jié) 束值 (j=2*(i-1)+n) 時打印 *
36、 號,其它位置都打印空格。另一種思路是將每行打印的空格和* 的兩個循環(huán)合為一體考慮,在判斷出需要打印 * 的兩個位置及第一行和最后一行相應(yīng)位置外,其余位置都打印空格。參考答案:main( ) int i,j,n ;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) ;10 分析:此圖形可以理解為兩個空心梯形反向連接而成,因此可以利用上題的思路進(jìn)行輸出。 參考答案:main( ) int i,
37、j,n ;printf(nPlease Enter n:) ;scanf(%d,&n) ;for(i=1 ;i=n ;i+) /* 輸出圖形的上半部分 (含中心行 ) */ for(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) ;* 號的位置不同,編程時要找出應(yīng)打印* 號的位置和兩個
38、循環(huán)變量i 、j 以及行11 分析:此題與上題的區(qū)別在于打印 數(shù) n 的關(guān)系。參考答案: main( ) int i,j,n ; printf(nPlease Enter 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 print
39、f( ) ; printf(*n) ; 12 參考答案: 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=n-i+1 | i=1 | i=n) printf(*);else printf( ) ; printf(n) ; 13 參考答案: main( ) int i,j,n ; printf(nPlease Enter n: ) ; scanf(%d, &n) ; for(i=1 ;i=n ;i+) /* 輸出圖形的上半部分 (含
40、中心行 ) */ for(j=1 ; j=n-i ; j+) if(j=1 | j=n-i+1) printf(* );else printf( ) ; 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) ;14 參考答案: main( ) int i,j,n ; printf(nPlease Enter n: ) ; scanf(%d,&n) ; for(i=1 ; i=n ; i+) f
41、or(j=1 ; j=n ; j+) if(j=1 | j=i | j=n) printf(*) else printf( ) ; printf(n) ;15 參考答案:main( ) 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) ;16
42、參考答案: 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 ; j+) if(j=n-i+1) printf(*) ;else printf( ) ;printf(*n) ;17分析:首先對圖形進(jìn)行設(shè)計,坐標(biāo)的X軸和Y軸分別對應(yīng)屏幕的列和行,一個正弦函數(shù)的周期為0360度,我們把一個步長定義為 10 度,打印時每換一行等于函數(shù)的自變量增加10 度;屏幕的列寬為 80,函數(shù)值為 0 對應(yīng)屏幕的第40列,sin(x)的值在-11,變換成列數(shù)為以0
43、為中心的-3030,對應(yīng)屏幕上第1070列。設(shè)計程序時,控制換行的自變量 i 乘以 10 得到正弦函數(shù)的 X 值, 調(diào)用庫函數(shù) sin() 求出函數(shù)值再乘以 30 輸出的列寬, 因?yàn)槲覀円云?幕的第 40 列為 0 點(diǎn),故再加上 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
44、;xy ? 40 : y ; /* 下一行要打印的字符總數(shù) */for (i=1 ; i=yy ;i+) /* 控制輸出圖形中的一行 */ if(i=y) printf(*) ; /* i 控制打印的列位置 */else if(i=40) printf(|) ; /* 打印中心的豎線 */else printf( ) ;printf(n) ;18 分析:首先設(shè)計屏幕圖形,如果預(yù)計圓形在屏幕上打印20 行,所以定義圓的直徑就是 20,半徑為 10,圓的方程是X2 X Y2=R2,因?yàn)閳D形不是從中心開始打印而是從邊沿開始,所以Y從10變化到-10,根據(jù)方程求出 X,對求得的 X 值再根據(jù)屏幕行寬進(jìn)
45、行必要的調(diào)整得到應(yīng)打印的屏幕位置。參考答案:#include main( ) double y ;int x,m ;for(y=10 ;y=-10 ;y-) /* 圓的半徑為 10 */ m = 2.5 * sqrt(100-y*y); /* 計算行 y 對應(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+) y = 0.1*yy ;m = acos(1-y)*10 ;n =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大數(shù)據(jù)服務(wù)平臺合作開發(fā)協(xié)議
- 裝修補(bǔ)充合同協(xié)議
- 體育產(chǎn)業(yè)商業(yè)化運(yùn)營合同
- 初一上冊江蘇數(shù)學(xué)試卷
- 市場營銷博雅聘用合同
- 坡地治理堡坎施工合同協(xié)議
- 萬能工項(xiàng)目支持合同
- 自行車賽道租賃山場合同
- 政府機(jī)關(guān)車位租賃合同
- 城市排水管網(wǎng)設(shè)施工程合同模板
- 社區(qū)矯正人員心理健康講座模板課件
- 中國和新加坡的英漢雙語教育政策比較研究
- 危險品運(yùn)輸車輛租賃合同
- 英語完形填空閱讀理解40篇
- 裝配式鋼結(jié)構(gòu)工程計量與計價PPT完整全套教學(xué)課件
- 小說面面觀(譯文經(jīng)典)
- 普通地質(zhì)學(xué)教材
- 《并聯(lián)機(jī)器人運(yùn)動學(xué)》
- 竣工圖繪制規(guī)范及標(biāo)準(zhǔn)
- 中國聯(lián)通動環(huán)監(jiān)控系統(tǒng)C接口-0812
- GB/T 37433-2019低功率燃油燃燒器通用技術(shù)要求
評論
0/150
提交評論