输入一个整数n,输出金字塔型的数字,左右对称。如:
输入:5
输出:
1
121
12321
1234321
123454321
注意每一行末尾不要输出多余空格,也就是说最后一个数字后没有空格
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
void PrintfSpace(int num) { //输出num个空格
for (int i = 0; i < num; i++) {
cout << " ";
}
}
void PrintfPositiveSequence(int num) { //正序输出1...num
for (int i = 1; i <= num; i++) {
cout << i;
}
}
void PrintfReverseSequence(int num) { // 逆序输出num...1
for (int i = num; i > 0; i--) {
cout << i;
}
}
int main()
{
int n;
while (cin >> n) {
for (int i = 1; i <= n; i++) {
PrintfSpace(n - i);
PrintfPositiveSequence(i);
PrintfReverseSequence(i - 1);
//PrintfSpace(n - i); //第一次没懂题目烦的错,最后一个数字后面加空格了
cout << endl;
}
}
return 0;
}