输出三角形
定一个层数n(0<n≤26),输出对应层数的字母三角形:
#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; ++i) {
string space = string(n-i, ' ');
string ch = string(2*i-1, 'A'+i-1);
cout << space + ch << endl;
}
return 0;
}
升级三角形
输入一个大写字母或者一个数字,输出特殊三角形:
int main() {
char x;
cin >> x;
int n;
if ((x >= 'A') && (x <= 'Z')) {
n = int(x) - 64;
for (int i = 1; i <= n; ++i) {
string space = string(n - i, ' ');
for (int j = 0; j < i; j++) {
space.append(1, 'A' + j);
}
for (int j = 1; j < i; j++) {
space.append(1, 'A' + i - 1 - j);
}
cout << space << endl;
}
}
else if ((x >= '1') && (x <= '9')) {
n = int(x)-48;
for (int i = 1; i <= n; ++i) {
string space = string(n - i, ' ');
for (int j = 0; j < i; j++) {
space.append(1, '1' + j);
}
for (int j = 1; j < i; j++) {
space.append(1, '1' + i - 1 - j);
}
cout << space << endl;
}
}
return 0;
}
造房子
输入m,n分别为*的行数和列数,输入输出以下图形:
int main() {
int m, n;
cin >> m >> n;
string space, ch;
for (int i = 0; i < m; i++) {
space="+";
for (int j = 0; j < n; j++) {
space.append (1,'-');
space.append(1, '+');
}
cout << space << endl;
ch="|";
for (int j = 0; j < n; j++) {
ch.append(1, '*');
ch.append(1, '|');
}
cout << ch << endl;
}
cout << space << endl;
return 0;
}