数字菱形图案(双重循环)
【问题描述】编程打印用数字构成的菱形图案,菱形上半部分的行数n( 1<n<10 )从键盘输入,总行数为2n-1。图案的样式按下面的样例。
【输入形式】从键盘输入包括中间一行在内的菱形上半部分的行数n ( 1<n<10 )。
【输出形式】输出用数字构成的菱形图案
样式按下面的样例,其中各数字间用1个空格间隔,最中间最长的一行的起始数字1位于第1列。
【样例输入】4
【样例输出】
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
1 2 1
1
(其实是菱形啦!不是到为什么他变这样><)
代码(垃圾代码,只是自己记录一下下,不想让他占我电脑内存5555):
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a, b;
cin >> n;
for (int i = 1; i <= n; i++)
{
a = 2 * (n - i);
for (int c = 1; c <= a; c++)
cout << " ";
for (int j = 1; j <= i; j++)
cout << j << " ";
for (int k = i - 1; k > 0; k--)
cout << k << " ";
cout << endl;
}
for (int i = 1; i <= n - 1; i++)
{
b = 2 * i;
for (int c = 1; c <= b; c++)
cout << " ";
for (int j = 1; j <= n - i; j++)
cout << j << " ";
for (int k = n - i - 1; k > 0; k--)
cout << k << " ";
cout << endl;
}
return 0;
}