




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、轉(zhuǎn)自他出。用星號(hào)打印各種圖形及參考答案【4.4】輸入n值,輸出如圖所示矩形?!?.5】輸入n值,輸出如圖所示平行四邊形?!?.6】輸入n值,輸出如圖所示高為n的等腰三角形。【4.7】輸入n值,輸出如圖所示高為n的等腰三角形。【4.8】輸入n值,輸出如圖所示高和上底均為n的等腰梯形?!?.9】輸入n值,輸出如圖所示高和上底均為n的等腰空心梯形?!?.10】輸入n值,輸出如圖所示邊長(zhǎng)為n的空心正六邊型?!?.11】輸入n值,輸出如圖所示圖形?!?.12】輸入n值,輸出如圖所示圖形?!?.13】輸入n值,輸出如圖所示圖形。【4.14】輸入n值,輸出如圖所示圖形。【4.15】輸入n值,輸出如圖所示圖形
2、。【4.16】輸入n值,輸出如圖所示圖形。(例為n=6時(shí))【4.17】編寫(xiě)程序,輸出如圖所示sin(x) 函數(shù)0到2的圖形?!?.18】編寫(xiě)程序,在屏幕上輸出一個(gè)由*號(hào)圍成的空心圓?!?.19】編寫(xiě)程序,在屏幕上繪制如圖余弦曲線和直線。若屏幕的橫向?yàn)閤軸,縱向?yàn)閥軸, 在屏幕上顯示0360度的cos(x)曲線與直線x=f(y)=45*(y-1)+31的迭加圖形。其中cos圖形用*表示,f(y)用+表示,在兩個(gè)圖形的交點(diǎn)處則用f(y)圖形的符號(hào)?!?.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;
3、i+)打印一行*號(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);【4.5】分析:此圖形和上題的區(qū)別在于在每一行先要打印空格,然后再打印n個(gè)*號(hào),在上題第一層循環(huán)體內(nèi)打印*號(hào)的循環(huán)前面增加一個(gè)循環(huán)打印空格。每行空格的個(gè)數(shù)是逐行減少的,由于第一層循環(huán)的控制變量i是
4、逐行增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);【4.6】分析:此題和上題的區(qū)別在于每行*的數(shù)量逐行減少,可以使用上題控制空格個(gè)數(shù)的思路來(lái)控制*號(hào)的個(gè)數(shù),請(qǐng)注意每行*的個(gè)數(shù)都是奇數(shù)。參考答案:main( ) int i,j,n;printf(nPlease Enter n:);
5、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);【4.7】分析:此題圖形是第3題圖形的垂直反轉(zhuǎn),在編程上我們可以變換一個(gè)思路。對(duì)于圖形中的第i行(1in),共需要輸出2n-i個(gè)字符,其中前面的i-1個(gè)字符為空格,后面的字符為*號(hào)。按照這一思路可以編寫(xiě)出如下程序。參考答案:main( ) int i,j,n;printf(nPlease Enter n:);scanf(%d, &n);for( i=1;i=n;i+ ) /* 重復(fù)輸出圖形的n行 */ fo
6、r( j=1;j=2*n-i;j+ ) /* 重復(fù)輸出圖形一行中的每個(gè)字符 */if(j=i-1) printf( ); /* 輸出前面的空格 */else printf(*); /* 輸出后面的*號(hào) */printf(n);【4.8】分析:此題和第3題的區(qū)別僅是每行的*個(gè)數(shù)增加n-1個(gè)。參考答案: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);【4.9】分
7、析:對(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,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);【4.10】分析:此圖
8、形可以理解為兩個(gè)空心梯形反向連接而成,因此可以利用上題的思路進(jìn)行輸出。參考答案:main( ) int i,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);
9、【4.11】分析:此題與上題的區(qū)別在于打印*號(hào)的位置不同,編程時(shí)要找出應(yīng)打印*號(hào)的位置和兩個(gè)循環(huán)變量i、j以及行數(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 prin
10、tf( );printf(*n);【4.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);【4.13】參考答案: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+)if
11、(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);【4.14】參考答案: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(
12、 );printf(n);【4.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);【4.16】參考答案:main( ) int i,j,n;printf(nPlease Enter n: );scanf(%d,&n);for(i=1;i=n;i+) for(j=1;
13、j=n+i-2;j+)if(j=n-i+1) printf(*);else printf( );printf(*n);【4.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列,sin(x)的值在-11,變換成列數(shù)為以0為中心的-3030,對(duì)應(yīng)屏幕上第1070列。設(shè)計(jì)程序時(shí),控制換行的自變量i乘以10得到正弦函數(shù)的X值,調(diào)用庫(kù)函數(shù)sin()求出函數(shù)值再乘以30輸出的列寬,因?yàn)槲覀円云聊坏牡?0列為0點(diǎn),故再加上40得到應(yīng)在屏幕上顯
14、示的點(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(i=40) printf(|); /* 打印中心的豎
15、線 */else printf( );printf(n);【4.18】分析:首先設(shè)計(jì)屏幕圖形,如果預(yù)計(jì)圓形在屏幕上打印20行,所以定義圓的直徑就是20,半徑為10,圓的方程是X2Y2=R2,因?yàn)閳D形不是從中心開(kāi)始打印而是從邊沿開(kāi)始,所以Y從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*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è) */【4.19】參考答案
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路改造與混凝土管鋪設(shè)施工方案設(shè)計(jì)及舊路面拆除策略探討
- 醫(yī)用織物清洗管理辦法
- 加強(qiáng)資金安全管理措施
- 安全工作周例會(huì)
- 數(shù)字時(shí)代背景下人類(lèi)存在性危機(jī)的哲學(xué)思考與應(yīng)對(duì)策略
- 車(chē)間安全培訓(xùn)主要內(nèi)容
- 《昆蟲(chóng)記》主題分析及高考備考要點(diǎn)研究
- 安全管理部述職報(bào)告
- 快遞安全生產(chǎn)責(zé)任制度范本
- 安全生產(chǎn)工作責(zé)任清單
- 新聞采編培訓(xùn)課件
- 來(lái)料檢驗(yàn)規(guī)范
- 電鍍產(chǎn)品檢驗(yàn)記錄
- 2023-2024學(xué)年遼寧省大連市小學(xué)語(yǔ)文五年級(jí)期末評(píng)估試卷附參考答案和詳細(xì)解析
- 2023年小學(xué)數(shù)學(xué)必背定義和公式
- 2023年四川省宜賓市全科醫(yī)學(xué)專(zhuān)業(yè)實(shí)踐技能測(cè)試卷(含答案)
- 興平市生活垃圾焚燒發(fā)電項(xiàng)目環(huán)評(píng)報(bào)告
- 主令電器(課用)課件
- 湘少版英語(yǔ)六年級(jí)下冊(cè)全冊(cè)教案
- 湖南省長(zhǎng)郡中學(xué)“澄池”杯數(shù)學(xué)競(jìng)賽初賽試題(掃描版含答案)
- 消防系統(tǒng)施工總進(jìn)度計(jì)劃
評(píng)論
0/150
提交評(píng)論