平铺输出图案

描述
已有图案如下:

--**-**-- 
-*--*--*-
-*-----*-
--*---*--
---*-*---
----*---- 

将图案按m*n平铺输出

输入
第一行是输入两个正整数m和n(大于等于1,小于等于5),用空格隔开,如果输入不满足要求则输出Input Error。

输出
输出图案见样例

样例
输入
2 3
输出

    --**-**----**-**----**-**--
    -*--*--*--*--*--*--*--*--*-
    -*-----*--*-----*--*-----*-
    --*---*----*---*----*---*--
    ---*-*------*-*------*-*---
    ----*--------*--------*----
    --**-**----**-**----**-**--
    -*--*--*--*--*--*--*--*--*-
    -*-----*--*-----*--*-----*-
    --*---*----*---*----*---*--
    ---*-*------*-*------*-*---
    ----*--------*--------*----

代码

#include<stdio.h>
int main()
{
 char a[6][10]={"--**-**--",
     "-*--*--*-",
     "-*-----*-",
     "--*---*--",
     "---*-*---",
     "----*----"};
 int m,n,i,j,x,y;//i,j计数 
 scanf("%d%d",&m,&n);
 char b[6*m][9*n];
 if(m<1||m>5||n<1||n>5)
 {
  printf("Input Error\n");
 }
 else
 {
  for(i=0;i<m;i++)
  {
   for(j=0;j<n;j++)
   {
    for(x=0;x<6;x++)
    {
     for(y=0;y<9;y++)
     {
      b[i*6+x][j*9+y]=a[x][y];
     }
    }
   }
  }
  for(i=0;i<6*m;i++)//放到了外面; 
  {
   for(j=0;j<9*n;j++)
   {
    printf("%c",b[i][j]);
   }
   printf("\n");//忘加\n 
  }
 }
 return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43823970/article/details/85367467