输入描述: 输入一个大写字母与一个整数 n
,1<=n<=26
。
输出描述: 输出如下高度为 2n-1
的菱形;注意:A
的下一个字母是B
,Z
的下一个字母是 A
。
平台会对你编写的代码进行测试:
测试输入: R 12
预期输出:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
//cout<<int('Z');
char letter;
char currentLetter;
int currentLetterID;
int n;
cin>>letter>>n;
if(n==1)
{
cout<<letter;
}
else{
for(int i=1;i<=n-1;i++)
{
cout<<" ";
}
cout<<letter;
cout<<endl;
for(int i=2;i<=n;i++)
{
for(int j=1;j<=n-i;j++)
{
cout<<" ";
}
currentLetter=char(letter+i-1);
currentLetterID=int(currentLetter);
if(currentLetterID>90)
{
currentLetter=char(letter+i-1-26);
}
cout<<currentLetter;
for(int j=1;j<=2*(i-1)-1;j++)
{
cout<<" ";
}
cout<<currentLetter;
cout<<endl;
}
//
for(int i=n+1;i<=2*n-2;i++)
{
for(int j=1;j<=i-n;j++)
{
cout<<" ";
}
currentLetter=char(currentLetter-1);
currentLetterID=int(currentLetter);
if(currentLetterID<65)
{
currentLetter=char(currentLetter+26);
}
cout<<currentLetter;
for(int j=1;j<=2*(2*n-2-i)+1;j++)
{
cout<<" ";
}
cout<<currentLetter;
cout<<endl;
}
for(int i=1;i<=n-1;i++)
{
cout<<" ";
}
cout<<letter;
}
return 0;
}