C++打印空心三角形

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:39:55
Input

每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。

Output

每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。

Sample Input

X 2
A 7
@

Sample Output

X
XXX

A
A A
A A
A A
A A
A A
AAAAAAAAAAAAA
三角形输不出来

呵呵
这个没问题,ac了
00227205 2007-04-08 09:38:55 Accepted 2091 0 MS 120 KB 495 B GNU C++ zxl0714

#include <iostream>
using namespace std;
int main()
{
char a[3];
int n,t,temp=0;
while (cin>>a)
{
if (a[0]=='@')break;
if (temp!=0)cout<<endl;
temp=1;
cin>>n;
int i,j,k,t;
t=n;
if (n==1)cout<<a<<endl;
else{
for (i=1;i<n;i++)cout<<' ';
cout<<a<<endl;
for (i=1;i<n-1;i++)
{
t--;
for (j=0;j<t-1;j++)cout<<' ';
cout<<a;
for (j=0;j<i*2-1;j++)cout<<' ';
cout<<a;
cout<<endl;
}
for (i=0;i<n*2-1;i++)cout<<a;