nyoj880还是打印菱形

题目链接:还是打印菱形

#include<stdio.h>
int main() {
  int times;
  scanf("%d", &times);
  while (times--) {
    int M, temp;
    scanf("%d", &M);
    //A = 65;
    //正常打印 
    M = M % 26;//1=<M<=25时打印正常 
    for (int i = 1; i <= 2 * M + 1; i += 2) {
      if (i / 2 == 0) temp = 1;
      else temp = i - i / 2;
      for (int z = 0; z < 2 * M + 1 - temp; z++) {
        printf(" ");
      }
      for (int j = 0; j < temp; j++) {
        printf("%c", j + 65);
      }
      if (temp != 1) {
        for (int j = temp - 2; j >= 0; j--) {
          printf("%c", j + 65);
        }
      }
      printf("\n");
    }
    //翻转打印 
    for (int i = 2 * M + 1 - 2; i >= 1; i -= 2) {
      if (i / 2 == 0) temp = 1;
      else temp = i - i / 2;
      for (int z = 0; z < 2 * M + 1 - temp; z++) {
        printf(" ");
      }
      for (int j = 0; j < temp; j++) {
        printf("%c", j + 65);
      }
      if (temp != 1) {
        for (int j = temp - 2; j >= 0; j--) {
          printf("%c", j + 65);
        }
      }
      printf("\n");
    }
  }
  return 0;
}

猜你喜欢

转载自blog.csdn.net/zwhsoul/article/details/79689697