拓展:string string(int num,char ch)
num表示打印字符个数,ch表示打印内容
#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,' ');//处理空格输出:第一行(n-1)个,第二行(n-2)个..
string ch=string(2*i-1,'A'+i-1);//处理字母输出个数:1,3,5..,内容:第一行A,第二行B...
cout<<space<<ch<<endl;//一行结束
}
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
char ch;
cin>>ch;
if(ch>='A'&&ch<='Z')//处理字母类的规律输出:以'A'为基准
{
for(int i=1;i<=ch-'A'+1;i++)//总行数:A-1,B-2,C-3...
{
for(int j=1;j<=ch-'A'+1-i;j++)//处理空格:输入为B:1,0;输入为C:2,1,0,即个数n-i
cout<<' ';
for(int j=1;j<=i;j++)//处理升序部分:A,AB,ABC,ABCD...与行数变化相同
cout<<(char)('A'+j-1);//cout默认输出数字,要进行强转成字符
for(int j=i-1;j>=1;j--)//处理降序部分: ,A,BA,CBA,DCBA...与升序变化相反,最大字母比行数-1;
cout<<(char)('A'+j-1);
cout<<endl;
}
}else {//处理数字类的规律输出:同理,以'1'为基准
for(int i=1;i<=ch-'1'+1;i++)//总行数:A-1,B-2,C-3...
{
for(int j=1;j<=ch-'1'+1-i;j++)//处理空格:输入为B:1,0;输入为C:2,1,0,即个数n-i
cout<<' ';
for(int j=1;j<=i;j++)//处理升序部分:A,AB,ABC,ABCD...与行数变化相同
cout<<(char)('1'+j-1);//cout默认输出数字,要进行强转成字符
for(int j=i-1;j>=1;j--)//处理降序部分: ,A,BA,CBA,DCBA...与升序变化相反,最大字母比行数-1;
cout<<(char)('1'+j-1);
cout<<endl;
}
}
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)//处理前n行
{
//将+-与|*看成一个整体
for(int j=1;j<=m;j++)//+-
cout<<"+-";
cout<<'+'<<endl;
for(int j=1;j<=m;j++)//|*
cout<<"|*";
cout<<'|'<<endl;
}
for(int j=1;j<=m;j++)//第n+1行
cout<<"+-";
cout<<'+';
return 0;
}