使用圆点和';*绘制领结'; 我是C++新手,有一个作业告诉我们输入一个整数,用‘*’和‘.'来制作一个2×1英寸大小的领结形状,例如:

使用圆点和';*绘制领结'; 我是C++新手,有一个作业告诉我们输入一个整数,用‘*’和‘.'来制作一个2×1英寸大小的领结形状,例如:,c++,C++,投入:3 输出: *.....* **...** ***.*** ******* ***.*** **...** *.....* 所以我想到了这个: #include <iostream> using namespace std; int main() { int n; cin>>n; for(int i=1;i<=n+1;i++) { for (int p=i;p>=1;p-

投入:3

输出:

  *.....*
  **...**
  ***.***
  *******
  ***.***
  **...**
  *.....*
所以我想到了这个:

  #include <iostream>

  using namespace std;
  int main()
  {
   int n;
   cin>>n;
   for(int i=1;i<=n+1;i++)
   {
      for (int p=i;p>=1;p--)
      cout<<"* ";
      for (int j=n;j>(i-1);j--)
      cout<<". ";
      for (int j=n;j>i;j--)
      cout<<". ";
      for (int j=i;j>=1;j--)
      cout<<"* ";
      cout<<endl;
   }

   for(int i=n;i>=1;i--)
   {
      for (int j=i;j>=1;j--)
      cout<<"* ";
      for (int j=n;j>(i-1);j--)
      cout<<". ";
      for (int j=n;j>i;j--)
      cout<<". ";
      for (int j=i;j>=1;j--)
      cout<<"* ";
      cout<<endl;
   }
  }
#包括
使用名称空间std;
int main()
{
int n;
cin>>n;
对于(int i=1;i=1;p--)

我相信if语句可以解决这个问题。 第一个循环的第四个内部for循环中的If语句

  for (int j=i;j>=1;j--){
       if(i != n+1 || j != 1){ 
           cout<<"* ";
       }
   }
  cout << endl;
(int j=i;j>=1;j--)的
{
如果(i!=n+1 | | j!=1){

coutWhat是
star
?请尝试缩进您的代码。缩进对编译器来说并不重要,但对阅读代码的人来说非常重要。此外,我建议您花一些时间阅读Eric Lippert的文章,并学习如何使用调试器逐行检查您的代码。最后,当您向我们展示一个应该可以工作的调试器时(或至少构建)请确保您显示的代码实际构建时没有错误!复制粘贴您的代码,不要将其重写到问题中,因为这可能会引入不相关的错误(您似乎已经这样做了)。谢谢你帮我编辑我的问题@Someprogrammerdude,我已经做了,如果还有什么需要澄清的,请告诉我。我已经编辑了代码,在我的编译器中也是一样的!非常感谢!它解决了问题,真不敢相信我甚至没有想过用它来代替!虽然我正在努力使它尽可能地最小化BLE,因为上面的混乱看起来很难看。我希望我能在C++上变得更好!ạơn女士,如果你认为我回答了问题,请回答。完成!@Tyger:D
  for (int j=i;j>=1;j--){
       if(i != n+1 || j != 1){ 
           cout<<"* ";
       }
   }
  cout << endl;