分类: IT业界
2012-05-05 13:09:02
一、题目
1001 打印“方块”
扑克牌中有四种花色:黑桃、红桃、梅花和方块。对于花色的象征意义,不同国家的人有不同的看法。
法国人将4种花色理解为矛、红心、丁香叶和方形
德国人将4种花色理解为树叶、红心、橡树果和铃铛
瑞士人将4种花色理解为橡树果、花朵、盾牌和铃铛
英国人将4种花色理解为铲子、红心、钻石和三叶草
意大利人将4种花色理解为宝剑、酒杯、拐杖和硬币
都是神马,呼呼……
今天,我们的任务是打印大小为N的方块。
输入
只有一个奇数N,表示要打印大小为N的方块。(5<=N<=99)
输出
输出大小为N的方块,方块部分用#表示,其余部分用*表示。
输入示例
7
输出示例
*******
***#***
**###**
*#####*
**###**
***#***
*******
二、分析
思路:
创建一个N行N列的整形矩阵,矩阵的节点上0表示“*”1表示“#” ,对矩阵进行规律处理,之后整体打印。
#include
02 |
03 |
04 | int x1[99][99]; |
05 |
06 | int main() |
07 | { |
08 | int n; |
09 | scanf("%d",&n); |
10 | int i,j; |
11 | for(i=0;i |
12 | { |
13 | for(j=0;j |
14 | { |
15 | x1[i][j] = 0; |
16 | } |
17 | } |
18 | int flag=(n-1)/2; |
19 | int x=0; |
20 | for(j=flag;j>0;j--) |
21 | { |
22 | for(i=1+x;i |
23 | { |
24 | x1[j][i] = 1; |
25 | } |
26 | x++; |
27 | } |
28 | x=0; |
29 | for(j=flag;j |
30 | { |
31 | for(i=1+x;i |
32 | { |
33 | x1[j][i] = 1; |
34 | } |
35 | x++; |
36 | } |
37 | for(i=0;i |
38 | { |
39 | for(j=0;j |
40 | { |
41 | if(x1[i][j]==0) |
42 | { |
43 | printf("*"); |
44 | } |
45 | else |
46 | { |
47 | printf("#"); |
48 | } |
49 | } |
50 | printf("\n"); |
51 | } |
52 | return 0; |
53 | } |