国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

藍橋杯-歷屆試題-打印十字圖

2019-11-06 06:19:42
字體:
來源:轉載
供稿:網友

問題描述

小明為某機構設計了一個十字型的徽標(并非紅十字會啊),如下所示:

..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$$...$.......$...$$.$$$.$$$$$.$$$.$$.$...$...$...$.$$.$.$$$.$.$$$.$.$$.$.$...$...$.$.$$.$.$.$$$$$.$.$.$$.$.$...$...$.$.$$.$.$$$.$.$$$.$.$$.$...$...$...$.$$.$$$.$$$$$.$$$.$$...$.......$...$$$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..

對方同時也需要在電腦dos窗口中以字符的形式輸出該標志,并能任意控制層數。

輸入格式

一個正整數 n (n<30) 表示要求打印圖形的層數。

輸出格式

對應包圍層數的該標志。

樣例輸入1

1

樣例輸出1

..$$$$$....$...$..$$$.$.$$$$...$...$$.$$$$$.$$...$...$$$$.$.$$$..$...$....$$$$$..

樣例輸入2

3

樣例輸出2

..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$$...$.......$...$$.$$$.$$$$$.$$$.$$.$...$...$...$.$$.$.$$$.$.$$$.$.$$.$.$...$...$.$.$$.$.$.$$$$$.$.$.$$.$.$...$...$.$.$$.$.$$$.$.$$$.$.$$.$...$...$...$.$$.$$$.$$$$$.$$$.$$...$.......$...$$$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..

提示

請仔細觀察樣例,尤其要注意句點的數量和輸出位置。


以上為所給題目描述,——分割線——–以下為博主解題思路。


解題:

分析:

使用二維數組保存圖形,并輸出。

分析所給圖案,可知該圖為正方形,是中心對稱圖形,可將其分為四個部分。十字圖拆分 可知知道其一部分,即可補全全圖形。 考慮第一部分,由下圖可見,黃線為其對稱軸,該圖形關于其對角線對稱。 四分之一部分 分析所給數字n與圖形大小的關系,可知,正方形邊長為4*n+5.

AC代碼:

#include <iostream>#include <string.h>using namespace std;int main(){ char data[126][126]; //二維數組,保存圖形 int n; while(cin>>n){ memset(data,'.',sizeof(data));//將數組置為‘.’,后續操作找出‘$’的位置。 int m=2*n+3; //找到中間線,即上圖中紅線的位置。 //考慮四分之一圖案,對第一部分 for(int i=0;i<m;i++){ //行,從0開始 for(int j=i;j<m;j++){ //列 //考慮對角線上‘$’的位置,數組從0開始 if(i!=0 && i%2==0&&j==i){ //從所在對角線往上往左兩個位置都為‘$’ data[i-2][j]=data[i-1][j]=data[i][j]='$'; data[i][j-2]=data[i][j-1]='$'; //外層邊界,共有m-j個‘$’ for(int k=j;k<m;k++){ data[k][i-2]=data[i-2][k]='$'; } } } } //補全圖形上半部分,(第2部分) for(int i=0;i<m;i++) for(int j=1;j<m;j++) data[i][m+j-1]=data[i][m-j-1]; //補全圖形全體,下半部分(第3,4部分) for(int i=1;i<m;i++) for(int j=0;j<4*n+5;j++) data[m+i-1][j]=data[m-i-1][j]; //打印輸出圖形 for(int i=0;i<4*n+5;i++){ for(int j=0;j<4*n+5;j++) cout<<data[i][j]; cout <<endl; } } return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 佛学| 池州市| 古蔺县| 郧西县| 高州市| 潢川县| 常州市| 灵石县| 郴州市| 平果县| 西乌珠穆沁旗| 恭城| 紫金县| 锡林浩特市| 唐海县| 兴山县| 永川市| 牡丹江市| 万安县| 汝阳县| 剑川县| 库伦旗| 天水市| 宁乡县| 珲春市| 桂平市| 鄂托克前旗| 临漳县| 昭觉县| 义马市| 晋中市| 高雄市| 张家港市| 柳江县| 商都县| 比如县| 德阳市| 汉源县| 乃东县| 海淀区| 垣曲县|