跟老师搞蓝桥杯第一期
三角形:
输出三角形
A
BBB
,C++:
#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
string space = string(n-i,' ');
string c = string((i+1)*2-1,'A'+i);
cout << space << c << endl;
}
return 0;
}
<string>里的方法,string(int a,char b)
a代表数量,b代表值
超级三角形
输出类似
A
ABA
ABCBA
的三角形
#include <string>
#include <iostream>
using namespace std;
int main(){
int n;
char m;
cin >> n;
for(int i = 0;i<n;i++){ //控制行数
string space = string(n-i-1,' '); //控制空格数
cout << space;
for(int j = 0;j<n;j++){ //控制一行字母的正序部分
cout << (char)('A'+j); //按ABC的顺序输出
m = 'A'+j; //记录最大字母
if(j==i) break; //控制字母数量,如第一次只输出A
}
for(int j = 0;j<n;j++){
if(j==i) break; //先判断,让第一次不输出,第二次输出一个字母
cout << (char)(m-j-1); //从最大字母-1开始输出
}
cout << endl;
}
}
超超级三角形
当输入C时,输出
A
BBB
CCCCC
的三角形;
当输入3时,输出
1
222
33333
的三角形
#include <string>
#include <iostream>
using namespace std;
int main(){
char a;
char m;
cin >> a;
if(a>='A'&&a<='Z'){
int n = (int)(a - 'A')+1; //n就是那个需要输出的行数
for(int i = 0;i<n;i++){
string space = string(n-i-1,' ');
cout << space;
for(int j = 0;j<n;j++){
cout << (char)('A'+j);
m = 'A'+j;
if(j==i) break;
}
for(int j = 0;j<n;j++){
if(j==i) break;
cout << (char)(m-j-1);
}
cout << endl;
}
}else{
int n = (int)(a-'1')+1; //n就是那个需要输出的行数
for(int i = 0;i<n;i++){
string space = string(n-i-1,' ');
cout << space;
for(int j = 0;j<n;j++){
cout << (char)('1'+j);
m = '1'+j;
if(j==i) break;
}
for(int j = 0;j<n;j++){
if(j==i) break;
cout << (char)(m-j-1);
}
cout << endl;
}
}
}