其他分享
首页 > 其他分享> > (for循环)打印各种三角形(C语言)

(for循环)打印各种三角形(C语言)

作者:互联网

在练习制作三子棋时,遇到了需要用for进行灵活的输出正方形宫格,就想起了打印*号三角形,然后索性再练习了一番。

打印后的效果就是这样子了。

`#include <stdio.h>

int main(){
int tmp;

  printf("请输需要打印的行数:");
  scanf("%d", &tmp);

// 打印靠左正三角形
for(int i=1;i<=tmp;i++){
for(int j=0;j<i;j++){
printf("* ");
}
printf("\n");
}

// 打印靠左倒三角形
for(int i=1;i<=tmp;i++){
for(int j=0;j<tmp-i;j++){
printf("* ");
}
printf("\n");
}

  // 打印靠右的正三角形
  for(int i=1;i<=tmp;i++){
      // tmp-i 则空格数刚好比需要输出的列数少一个,也就是*号的位置
      for(int j=0;j<tmp-i;j++){
          printf(" ");
      }
      for(int k=0;k<i;k++){
          printf("* ");
      }
      printf("\n");
  }

  // 打印靠右的倒三角形,因为少一行,所以需要-1
  for(int i=1;i<=tmp-1;i++){
      for(int j=0;j<i;j++){
          printf(" ");
      }
      for(int k=0;k<tmp-i;k++){
          printf("* ");
      }
      printf("\n");
  }

  // 打印正大三角形
  for(int i=1;i<=tmp;i++){
      for(int j=0;j<tmp-i;j++){
          printf(" ");
      }
      for(int k=0;k<2*i-1;k++){
          printf("*");
      }
      printf("\n");
  }

  // 打印倒大三角形
  for(int i=1;i<=tmp-1;i++){
      for(int j=0;j<i;j++){
          printf(" ");
      }
      for(int k=0;k<(2*(tmp-i)-1);k++){
          printf("*");
      }
      printf("\n");
  }

  return 0;

}`


标签:tmp,靠左,int,打印,C语言,正三角形,printf,三角形
来源: https://www.cnblogs.com/Jelar/p/15182845.html