2756: 【例37.3】 菱形图形

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:52 解决:32

题目描述

输入一个正整数 $n$,输出用 $1$ 至 ($2n−1$) 的数字组成的菱形。

输入

输入正整数 $n$($1≤n≤10$)。

输出

输出画出的图形。

样例输入 复制

3

样例输出 复制

  1
 123
12345
 123
  1

提示

#include<bits/stdc++.h>
using namespace std;
int n,sp,c;
int main(){
    cin>>n;
    sp=n-1; //每行前面的空格数
    c=1; //每行最大的数字
    for(int i=1;i<=n;i++,sp--,c+=2) {
    	for(int j=1;j<=sp;j++)  cout<<' ';
    	for(int j=1;j<=c;j++)  cout<<j;
    	cout<<endl;
	}
	sp=1;
	c-=4; //此前的循环导致c比最大数还要多2,所以必须-4才可以让最大值小2。
	for(int i=1;i<=n-1;i++,sp++,c-=2) {
		for(int j=1;j<=sp;j++) cout<<' ';
		for(int j=1;j<=c;j++) cout<<j;
		cout<<endl;
	}
	return 0;
}