注意一下最后一行不能输出空行,所以要在输出第二个之前输出空行;
还有就是当数字输入的是一时我的原来的程序会输出两个一,这个要注意一下。
#include<iostream>
using namespace std;
int main()
{
char ch;
int n,k=0;
while(cin>>ch&&ch!='@')
{
cin>>n;
int i,j;
if(k) cout<<endl;
for(i=1;i<n;i++)
cout<<' ';
cout<<ch<<endl;
for(j=2;j<n;j++)
{
for(i=1;i<=n-j;i++)
cout<<' ';
cout<<ch;
for(i=1;i<=2*j-3;i++)
cout<<' ';
cout<<ch<<endl;
}
for(i=1;(i<=2*n-1)&&n!=1;i++)
cout<<ch;
if(n!=1) cout<<endl;
k=1;
}
}