首页 > 解决方案 > 如何在 C++ 中打印后退箭头星星图案?

问题描述

我制作了简单的箭头星形图案,但无法添加空格来创建反向箭头。请帮我弄清楚。

for (i=1; i<=6; i++) {
    for (j=1; j<=i; j++) {
        cout<<"*";
    }
    cout<<"\n";
}

for (k=5; k>=1; k--) {
    for (l=1; l<=k; l++) {
        cout<<"*";
    }
    cout<<"\n";
}

哪个打印

*
**
***
****
*****
******
*****
****
***
**
*

标签: c++

解决方案


使用std::string的解决方案:

#include<iostream>
#include<string>

int main() {
  const char clearCh = ' ';
  const char fillCh = '*';
  const size_t size = 6;

  std::string str(size, clearCh);

  for (int i = str.size() - 1; i >= 0; --i) {
    str[i] = fillCh;
    std::cout << str << std::endl;
  }

  for (int i = 0; i < str.size() - 1; ++i) {
    str[i] = clearCh;
    std::cout << str << std::endl;
  }

  return 0;
}

现场演示


推荐阅读