该程序对应书籍《 C primer plus 》第6版编程练习6-16-5. 新手写的有点啰嗦。不妥之处请指出。

这里做了修改,字母金字塔高度采用数值输入。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SPACE ' '
void space(int ,int );
void up(int , int );
void down(int ,int );
int main(void)
{
	int i;
	int h;
	printf("请输入字母金字塔高度:1-26\n");
	while ((scanf("%d", &h)) != 1)
	{
		printf("please try again");
	}
	for (i = 1; i <=h; i++)
	{
		space(i, h);
		up(i, h);
		down(i, h);
		printf("\n");
	}
	
	return 0;
}
void space(int i, int h)
{
	int j;
	for (j = 1; j <= h - i; j++)
		putchar(SPACE);
}
void up(int i, int h)
{
	int j;
	char ch= 'A';
	for (j = 0; j < i-1; j++)
		putchar(ch + j);
}
void down(int i, int h)
{
	int j;
	char ch='A';
	for (j = i-1; j >=0; j--)
		putchar(ch +j);
}

程序运行结果:

 

 

更多推荐

学习C语言——字母金字塔