|  | 
          1樓
          巨大八爪鱼
          2016-3-15 16:03
          
          
            #include <stdio.h>#include <stdlib.h>
 #include <string.h>
 
 char *arr;
 int len, n;
 
 void draw_h(int x, int y, int hlen)
 {
 int p = y * len + x;
 while (hlen--)
 arr[p++] = '$';
 }
 
 void draw_v(int x, int y, int hlen)
 {
 int p = y * len + x;
 while (hlen--)
 {
 arr[p] = '$';
 p += len;
 }
 }
 
 void draw(int layer)
 {
 int xl = layer * 2;
 int xr = len - 1 - xl;
 int yt = (layer - 1) * 2;
 int yb = len - 1 - (layer - 1) * 2;
 int border = 5 + (n - layer) * 4;
 
 // 图案第一行(以及倒数第一行)
 draw_h(xl, yt, border);
 draw_h(xl, yb, border);
 
 // 图案第二行 (以及倒数第二行)
 draw_h(xl, yt + 1, 1);
 draw_h(xr, yt + 1, 1);
 draw_h(xl, yb - 1, 1);
 draw_h(xr, yb - 1, 1);
 
 // 图案第三行(以及倒数第三行)
 draw_h(xl - 2, yt + 2, 3);
 draw_h(xr, yt + 2, 3);
 draw_h(xl - 2, yb - 2, 3);
 draw_h(xr, yb - 2, 3);
 
 // 两边的竖线
 draw_v(xl - 2, yt + 2, border);
 draw_v(xr + 2, yt + 2, border);
 }
 
 int main(void)
 {
 int x, y, size;
 char *pArr;
 scanf("%d", &n);
 len = 5 + 4 * n;
 
 size = len * len * sizeof(char);
 pArr = arr = (char *)malloc(size);
 
 // 画每一层图案(不是每一行)
 memset(arr, '.', size);
 for (x = 1; x <= n; x++)
 draw(x);
 
 // 画中心十字
 draw_v(2 * n + 2, len / 2 - 2, 5);
 draw_h(2 * n, len / 2, 5);
 
 for (y = 0; y < len; y++)
 {
 for (x = 0; x < len; x++)
 putchar(*pArr++);
 putchar('\n');
 }
 free(arr);
 return 0;
 }
 | 
    
      |  | 
          2樓
          巨大八爪鱼
          2016-3-15 16:03
          
          
            评测结果  正确得分  100
 
 一个图案一个图案画就行了,不要一行一行画。
 
 | 
    
      |  | 
          3樓
          巨大八爪鱼
          2016-3-15 16:04
          
          
            10..$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$..
 ..$.......................................$..
 $$$.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.$$$
 $...$...................................$...$
 $.$$$.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.$$$.$
 $.$...$...............................$...$.$
 $.$.$$$.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.$$$.$.$
 $.$.$...$...........................$...$.$.$
 $.$.$.$$$.$$$$$$$$$$$$$$$$$$$$$$$$$.$$$.$.$.$
 $.$.$.$...$.......................$...$.$.$.$
 $.$.$.$.$$$.$$$$$$$$$$$$$$$$$$$$$.$$$.$.$.$.$
 $.$.$.$.$...$...................$...$.$.$.$.$
 $.$.$.$.$.$$$.$$$$$$$$$$$$$$$$$.$$$.$.$.$.$.$
 $.$.$.$.$.$...$...............$...$.$.$.$.$.$
 $.$.$.$.$.$.$$$.$$$$$$$$$$$$$.$$$.$.$.$.$.$.$
 $.$.$.$.$.$.$...$...........$...$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$$$.$$$$$$$$$.$$$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$...$.......$...$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$.$$$.$$$$$.$$$.$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$.$...$...$...$.$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$.$.$$$.$.$$$.$.$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$.$.$...$...$.$.$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$.$.$.$$$$$.$.$.$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$.$.$...$...$.$.$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$.$.$$$.$.$$$.$.$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$.$...$...$...$.$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$.$$$.$$$$$.$$$.$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$...$.......$...$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$.$$$.$$$$$$$$$.$$$.$.$.$.$.$.$.$
 $.$.$.$.$.$.$...$...........$...$.$.$.$.$.$.$
 $.$.$.$.$.$.$$$.$$$$$$$$$$$$$.$$$.$.$.$.$.$.$
 $.$.$.$.$.$...$...............$...$.$.$.$.$.$
 $.$.$.$.$.$$$.$$$$$$$$$$$$$$$$$.$$$.$.$.$.$.$
 $.$.$.$.$...$...................$...$.$.$.$.$
 $.$.$.$.$$$.$$$$$$$$$$$$$$$$$$$$$.$$$.$.$.$.$
 $.$.$.$...$.......................$...$.$.$.$
 $.$.$.$$$.$$$$$$$$$$$$$$$$$$$$$$$$$.$$$.$.$.$
 $.$.$...$...........................$...$.$.$
 $.$.$$$.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.$$$.$.$
 $.$...$...............................$...$.$
 $.$$$.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.$$$.$
 $...$...................................$...$
 $$$.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.$$$
 ..$.......................................$..
 ..$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$..
 
 --------------------------------
 Process exited after 1.411 seconds with return value 0
 Press any key to continue . . .
 | 
    
      |  | 
          4樓
          巨大八爪鱼
          2016-3-16 23:00
              
          
          10..$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$..
 ..$.......................................$.....
 
 排版太乱了。。。 |