分析:
与金字塔形状图案题目类似,参考链接https://blog.nowcoder.net/n/86a42f259a0f44d6836d173a05e65141
有所不同的是,本题的行数是固定的为5行,同时组成金字塔的字符是输入得到的,故需要对齐进行对应修改。
题解:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n = 0;
char val = 0;
//读入字符
scanf("%c", &val);
int space = 4;
n = 5;
//外循环遍历每一行
for(int i = 1; i <= n; ++i) {
//输出前导的空格
for(int j = 0; j < space; ++j)
printf(" ");
int count = i+i-1;
bool flag = true;
//循环count遍,每一个空格输出一个字符,交替输出
for(int k = 0; k < count; ++k){
if(flag) {
printf("%c", val);
//最后一个是空格
if(k == count-1)
printf(" ");
}
else
printf(" ");
//更新标志
flag = !flag;
}
printf("\n");
space--;
}
return 0;
}总结:
金字塔图案类似题目,举一反三即可。

京公网安备 11010502036488号