冷月孤心 发表于 2015-1-14 12:49:45

求助 打印空心菱形遇到问题

main()
{
int a;
int b;
int c;
int i = 1;
int j = 1;
printf("plase enter a num:");
scanf("%d",&b);
a = 2*b;
c = 2*b-1;
   for(i = 1;i <=c;i++)
   {
   for(j = 1;j <=a;j++)
    {
       if(j == b - i + 1 || j == i + b - 1 && j<=a -1 || j == i-b+1 && i>=c/2)
       {
         printf("*");
       }
      else if(j ==a)
      {
      printf("\n");
      }

       else
       {
         printf(" ");
       }
   }
   }
}
第四条边怎么构思,没思路了.

冷月孤心 发表于 2015-1-14 14:40:32

本帖最后由 冷月孤心 于 2015-1-14 21:37 编辑

main()
{
int a;
int b;
int c;
int i = 1;
int j = 1;
printf("plase enter a num:");
scanf("%d",&b);
a = 2*b;
c = 2*b-1;
   for(i = 1;i <=c;i++)
   {
   for(j = 1;j <=a;j++)
    {
       if(j == b - i + 1 || j == i + b - 1 && j<=a -1 || j == i-b+1 && i>=c/2 || i >= b && j>= b && j == c-i+b)
       {
         printf("*");
       }
      else if(j ==a)
      {
      printf("\n");
      }

       else
       {
         printf(" ");
       }
   }
   }
}
已经解决,第四条边=正方形边长-行数+菱形边长                                                      完整作业:http://pan.baidu.com/s/1sj4XdaX

漂摆 发表于 2015-2-8 14:00:13

我也遇到同样的问题了~先去吃饭,回来研究一下~貌似你说的方法还是没有解决我遇到的问题~还得接着想~
页: [1]
查看完整版本: 求助 打印空心菱形遇到问题