所以我必须打印Floyd的三角形,但是这样:
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;
}
}
答案 0 :(得分:2)
以下是修改后的代码:
#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<<"* ";
}
}
答案 1 :(得分:0)
请注意,在第n行,有第n个数字。因此,对于每一行,您必须计算您已编写的数字。所以,当你写下你需要的数字时,你就写了k数。现在,你需要添加n-k星。