题目:编写一个程序,提示用户输入大写字母。使用嵌套循以下面金字塔型的格式打印字母
需求:打印字母金字塔,要根据用户输入的字母来决定,如输入大写字母: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,有什么不懂的可以加我好友,顺便一起交流交流学习经验(笑)