1032. 菱形 (Standard IO)
时间限制: 1000 ms 空间限制: 262144 KB 具体限制
题目描述
输入一个正整数n,输出用1至(2n-1)的数字组成的菱形。
输入
输入正整数n。
输出
输出对应的菱形(见样例)。
样例输入
3
样例输出
1 123 12345 123 1
数据范围限制
1<=n<=10
--------------------------------------------------------------------
问题分析
跟其它打印菱形的题目一样,将菱形分割为上下两部分,上半截包含n行,下半截包含n-1行。分别都是一包二两层for循环,里1打印空格,里2打印数字。上半截的数字变化是1 3 5 7 ,是一个递增的等差数列,公式是2*i-1;下半截是5 3 1,是一个递减的等差数列,公式是:2*(n-i)-1。
代码如下:
#include <iostream>
using namespace std;
int main()
{
int n,k;
cin >> n;
k = 2*n-1;
//上半截
for(int i = 1;i <= n; i++)
{
for(int j=n-i;j>0;j--)
cout << " ";
for(int a = 1; a <= 2*i-1;a++)
cout << a;
cout << endl;
}
for(int i = 1; i<=n-1;i++)
{
for(int j=i;j>0;j--)
cout << " ";
for(int a = 2*(n-i)-1,b=1;a>0;a--,b++)
cout << b;
cout << endl;
}
return 0;
}