所以我必须打印弗洛伊德的三角形,但是像这样:

7

1

2 3

4 5 6

7 * * *

这是我的代码,如果还有剩余空间,我只是想不出如何在最后一行的末尾打印*
#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
  int n;
  cin>>n;
  int br=1;

  for (int i=1;i<=n;i++)
  {
    for(int j=1;j<=i;j++)
    {
      if(br<=n)
        cout<<br<<" ";
      br++;
    }
    if(br<=n)
      cout<<endl;
  }
}

最佳答案

这是修改后的代码:

#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
  int n, i, j;
  cin>>n;
  int br=1;

  for (i=1;i<=n;i++)
  {
    for(j=1;j<=i;j++)
    {
      if(br>n)
        break;
      cout<<br<<" ";
      br++;
    }
    if(br>n)
      break;
    cout<<endl;
  }
  for(int k = j; k <= i; k++)
  {
    cout<<"* ";
  }
}

关于c++ - 弗洛伊德的三角变化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20303979/

10-11 22:43
查看更多