7-10循环结构 编程打印空心字符菱形

本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。

输入格式:

输入在一行中给出起始字母(范围为英文大写字母A-G)和菱形的高度(为不超过10的奇数)。

输出格式:

输出空心字符菱形。

输入样例:


B 5

结尾无空行

输出样例:

  B
 C C
D   D
 C C
  B

结尾无空行

#include <stdio.h>

int main()
{
	int n,bear,i,j,k,l;
	char letter;
	int count=1;
	int flag = 1;

	scanf("%c %d", &letter, &n);
	
	j = (n + 1) / 2;
	bear = j - 1;
	for (i = 1; i <= j; i++,letter++,bear--)
	{
		for (k = bear; k >= 1; k--)
			printf(" ");
		printf("%c", letter);
		if(i!=1)
		{
			for (l = count; l >= 1; l--)
			{
				printf(" ");
			}
			printf("%c", letter);
			count += 2;
		}
		printf("\n");
		
	}

	letter -= 2;
	count -= 4;
	bear += 2;
	for (i = j - 1; i >= 1; i--, letter--, bear++)
	{
		for (k = bear; k >= 1; k--)
			printf(" ");
		printf("%c", letter);
		if(i != 1)
		{
			for (l = count; l >= 1; l--)
			{
				printf(" ");
			}
			printf("%c", letter);
			count -= 2;
		}
		printf("\n");
	}
	return 0;
}

上一篇:单链表的方向转换(三量转换)


下一篇:C++STL标准库学习笔记(一)sort