C语言:字母金字塔

题目:编写一个程序,提示用户输入大写字母。使用嵌套循以下面金字塔型的格式打印字母

需求:打印字母金字塔,要根据用户输入的字母来决定,如输入大写字母:A,则出现以下图形。

    A
   ABA
  ABCBA
 ABCDCBA
ABCDEDCBA

设计方案:本程序采用循环结构,但是为了避免出现多层嵌套循环,所以只用了一次循环,另一次循环是用来输出空格,这个代码的核心则是对变量flag的控制。

具体思路:可以发现这个代码是对称结构的,在每一行的输出中,输出一个字母则让flag自增一次,直至最中间的字母,接下来就是让flag自减,每减少一次输出一个字母,直至flag变为0

代码:以下是C语言实现

/*
 * pyramid.c
 *
 *  Created on: 2020年3月12日
 *      Author: AFei2019
 */

#include <stdio.h>

int main(void) {
	char letter;
	char temp;
	int flag;	//相当与一个“指针”,用来判断何时到达中间位置
	int i, j;	//两层循环因子 i用来循环行数,j用来循环字符输出
	printf("input letter:\n");
	fflush(stdout);
	scanf_s("%c", &temp);
	for (i = 0; i < 5; i++) {
		flag = 0;
		letter = temp - 1;
		for (j = 4; j > i; j--) {
			printf(" ");
		}
		while (flag <= i) {
			letter += 1;
			printf("%c", letter);
			flag++;
		}
		flag -= 1;
		if (flag != 0) {
			while (flag) {
				letter -= 1;
				printf("%c", letter);
				flag--;
			}
		}
		printf("\n");
	}
	system("pause");
	return 0;
}

如果觉得代码不错的话,点个赞再走吧
博主QQ:2240172425,有什么不懂的可以加我好友,顺便一起交流交流学习经验(笑)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值