0
点赞
收藏
分享

微信扫一扫

复杂 字符+数字 金字塔

minute_5 2022-02-06 阅读 141
#include<iostream>
#include<string>
using namespace std;

int main() {	//1 3 5 7   2n-1
	char c;
	cin >> c;	//输入范围:字符:A-Z   数字:1-9
	if (c >= 'A' && c <= 'Z') {
		int num = c - 'A' + 1;				//行数
		for (int i = 1; i <= num; i++) {	//循环输出每行
			for (int j = 1; j <= num - i; j++) {	//前空格
				cout << " ";
			}
			for (char x = 'A'; x <= 'A' + i - 1; x++) {	//中加前半段字符
				cout << x;
			}
			for (char x = 'A' + i - 2; x >= 'A'; x--) {	//后半段字符
				cout << x;
			}
			for (int j = 1; j <= num - i; j++) {	//后空格
				cout << " ";
			}
			cout << "" << endl;
		}
	}
	else {
		int num = c - 48;
		for (int i = 1; i <= num; i++) {	//循环输出每行
			for (int j = 1; j <= num - i; j++) {
				cout << " ";
			}
			for (int x = 1; x <= i; x++) {
				cout << x;
			}
			for (int x = i - 1; x >= 1; x--) {
				cout << x;
			}
			for (int j = 1; j <= num - i; j++) {
				cout << " ";
			}
			cout << "" << endl;
		}
	}
	return 0;
}

//00100
//01210
//12321

测试结果:

 

 

举报

相关推荐

0 条评论