我正在尝试打印这个大的X模式:

 x       x
  x     x
   x   x
    x x
     x
    x x
   x   x
  x     x
 x       x

我无法弄清楚该算法。我只是开始C编程而陷入困境。

我到目前为止所拥有的是
#include <stdio.h>
int main()
{
    int j,i;
    char ch[] = "$";
    for(int j = 5; j >= 0 ; --j)
    {
        for(i = 5; i>=0; --i)
        {
            if(j%2 == 1)
            {
                 printf("%s",ch);
            }

        }
    printf("\n");
    }
    return 0;
}

我也弄清楚了模式
0  5  0
1  3  1
2  1  2
3  0  3
2  1  2
1  3  1
0  5  0

边缘的数字是*出现的位置。中间的数字是空格应出现的位置。我想念什么?

最佳答案

一点乐趣:

int main (void)
{
    int i;
    int w = 7;
    for (i=1;i<=w*(w+1);i++)
        printf (
            "%c",
            i % (w+1) == 0 ? '\n' :
            i % (w) == 0 || i % (w+2) == 1 ? '*' : ' ');

}

10-05 20:44
查看更多