无法在 C++ 中使用 setw 获得右对齐的数字三角形模式 space
Can't get Right aligned number triangle pattern giving space using setw in C++
我想要一个右对齐的数字模式,使用 setw 来给空格
当 setw 小于 no 时,空格消失。印刷数字或它使任何随机模式。
我的代码如下:
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
int space, n,i,j,k,l,m;
cin>>n;
for (k = n; k <=2*n-1; k++)
{
cout<<setw(k);
}
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
cout<<j;
}
cout<<endl;
}
return 0;
}
我得到的输出是 (n=5):
1
12
123
1234
12345
我想要的输出是 (n=5):
1
12
123
1234
12345
不需要第一个 for
循环。
setw
设置下一个字段(setw
之后的字段)的字段长度。因此,如果下一个字段是空字符串,setw(x)
将只保留 x
个字符 space。此外,值 x
应等于 n - i
(如果要打印的字符数为 1,则需要 (5 - 1) 即 4 spaces)
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n, i, j;
cin >> n;
for (i = 1; i <= n; i++) {
cout << setw(n - i) << "";
for (j = 1; j <= i; j++) {
cout << j;
}
cout << endl;
}
return 0;
}
我想要一个右对齐的数字模式,使用 setw 来给空格 当 setw 小于 no 时,空格消失。印刷数字或它使任何随机模式。 我的代码如下:
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
int space, n,i,j,k,l,m;
cin>>n;
for (k = n; k <=2*n-1; k++)
{
cout<<setw(k);
}
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
cout<<j;
}
cout<<endl;
}
return 0;
}
我得到的输出是 (n=5):
1
12
123
1234
12345
我想要的输出是 (n=5):
1
12
123
1234
12345
不需要第一个 for
循环。
setw
设置下一个字段(setw
之后的字段)的字段长度。因此,如果下一个字段是空字符串,setw(x)
将只保留 x
个字符 space。此外,值 x
应等于 n - i
(如果要打印的字符数为 1,则需要 (5 - 1) 即 4 spaces)
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n, i, j;
cin >> n;
for (i = 1; i <= n; i++) {
cout << setw(n - i) << "";
for (j = 1; j <= i; j++) {
cout << j;
}
cout << endl;
}
return 0;
}