C语言实验——打印金字塔

题目描述

输入n值,打印下列形状的金字塔,其中n代表金字塔的层数。 

输入

输入只有一个正整数n。

输出

打印金字塔图形,其中每个数字之间有一个空格。

示例输入

3

示例输出

    1
  1 2 1
1 2 3 2 1
源码(程序不太简洁。。凑合吧):
#include <stdio.h>

int main()
{
	int n,i,j;
	int t;
	scanf("%d",&n);
	t=2*n-1;
	for(i=1; i<=n; i++)//一次循环代表输出一行
	{
		for(j=1; j<=t-2*i; j++)
			putchar(' ');
		for(j=1; j<=i; j++)
		{
			if(i == n && j==1)//当输出最后一行的第一个字母的时候。。因为它前面没有空格
				printf("%d",j);
			else
				printf(" %d",j);
		}
		for(j=i-1; j>=1; j--)
			printf(" %d",j);
		putchar('\n');
	}

	return 0;
}







原文地址:https://www.cnblogs.com/tanhehe/p/2883532.html