求解这道题,不知道怎么填充
当前编程题:实验三 循环---输出n层金字塔图形5.
【问题描述】
输入金字塔的层数n(n为正整数),输出由字符*组成的金字塔图形。最底层的字符数为2n-1,最上层字符数为1。字符图形水平居中对齐(使用空格填充)。
【样例输入】
5
【样例输出】
*
***
*****
*******
*********
#include <iostream> #include <iomanip> using namespace std; int main( void ) { size_t n; cin >> n; for( size_t i=0; i!=n; ++i ) cout << setfill(' ') << setw(n-i) << '*' << setfill('*') << setw(i*2+1) << '\n'; }
#include <iostream> #include <iterator> #include <algorithm> using namespace std; int main( void ) { size_t n; cin >> n; std::ostream_iterator<char> itor(cout); for( size_t i=0; i!=n; ++i ) { std::fill_n( itor, n-i-1, ' ' ); std::fill_n( itor, 2*i+1, '*' ); *itor = '\n'; } }
#include<cstdio> int n; int main() { scanf("%d",&n); for(int i=1; i<=n; i++) { for(int j=1; j<=n-i; j++) printf(" "); for(int j=1; j<=2*i-1; j++) printf("*"); printf("\n"); } return 0; }