C 如何仅用2个循环编写此模式?

C 如何仅用2个循环编写此模式?,c,C,这是我想作为输出得到的模式。。。我做了3个循环,但是我怎么做只有2个循环 这是我的密码: * * * * * * * * * * * * * 这里我有两个外部for循环,用于这个模式的两个部分。第一个是正三角形,第二个是旋转三角形。如何制作一个外环和一个内环?设n为样本中图案的长度,n=9。当n/2%2==1时,问题就不清楚了,例如,当n=7时,就不可能生成模式 for (i = 1; i <= n; i++) { for (j = 1; j &l

这是我想作为输出得到的模式。。。我做了3个循环,但是我怎么做只有2个循环

这是我的密码:

    *

  * * *

* * * * *

  * * *

    *

这里我有两个外部for循环,用于这个模式的两个部分。第一个是正三角形,第二个是旋转三角形。如何制作一个外环和一个内环?

设n为样本中图案的长度,n=9。当n/2%2==1时,问题就不清楚了,例如,当n=7时,就不可能生成模式

for (i = 1; i <= n; i++) {
    for (j = 1; j <= n - i; j++) {
        printf(" ");
    }
    if (i % 2 == 0) {
        printf("\n");
    }
    else {
        for (j = 1; j < 2 * i; j++) {
            if (j % 2 != 0)
                printf("");
            else
                printf(" ");
        }
        printf("\n");
    }
}
for (i = 1; i < n; i++) {
    for (j = 1; j <= i; j++) {
        printf(" ");
    }
    if (i % 2 != 0) {
        printf("\n");
    }
    else {
        for (j = 1; j <= 2 * (n - i) - 1; j++) {
            if (j % 2 != 0)
                printf("");
            else
                printf(" ");
        }
        printf("\n");
    }
}
奇数


您可以使用1个偶数循环,也可以不使用任何循环。到底是什么问题?你尝试过什么?请回答你的问题,而不是评论,评论中的代码是不可读的。这只有两个嵌套循环级别,这不是你想要的吗?总之:这一切归结为为为一些任意坐标获得正确的符号。使用一个循环遍历行,使用嵌套循环遍历列,并编写函数来确定此坐标处的符号;应该是printf*;?编辑是:这里我有两个外部for循环,用于该模式的两个部分。第一个是正三角形,第二个是旋转三角形。我如何在一个外环和一个内环中进行转换?这就是我想要的…如果一个额外的空行是真的?需要在每行之后添加一个\n到第二个printf。
#include <stdio.h>
#include <assert.h>

int main() {
  int n;
  scanf("%d", &n);
  assert((n / 2) % 2 == 0);
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (i % 2 == 0 && j % 2 == 0
       && n / 2 <= (i + j) && (i + j) < 3 * n / 2
       && n / 2 <= (n - 1 - i + j) && (n - 1 - i + j) < 3 * n / 2) {
        printf("*");
      } else {
        printf(" ");
      }
    }
    printf("\n");
  }
}
 #define N 5

 for(int i=0 ; i<N ; i++) {
      for(int j=0 ; j<N ; j++)
            printf("%s", abs(i-N/2)+abs(j-N/2)<=N/2 ? " *":"  ");
      printf("\n");
 }
                     *                    
                   * * *                  
                 * * * * *                
               * * * * * * *              
             * * * * * * * * *            
           * * * * * * * * * * *          
         * * * * * * * * * * * * *        
       * * * * * * * * * * * * * * *      
     * * * * * * * * * * * * * * * * *    
   * * * * * * * * * * * * * * * * * * *  
 * * * * * * * * * * * * * * * * * * * * *
   * * * * * * * * * * * * * * * * * * *  
     * * * * * * * * * * * * * * * * *    
       * * * * * * * * * * * * * * *      
         * * * * * * * * * * * * *        
           * * * * * * * * * * *          
             * * * * * * * * *            
               * * * * * * *              
                 * * * * *                
                   * * *                  
                     *