CCF 1032. 菱形

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;
}

猜你喜欢

转载自blog.csdn.net/tainys/article/details/85268227
今日推荐