  | 
      
        
          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 ..$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.. ..$.......................................$.....
  
         
        排版太乱了。。。 
       |