空心三角形------HDU2091
Problem Description
把一個(gè)字符三角形掏空,就能節(jié)省材料成本筐摘,減輕重量范抓,但關(guān)鍵是為了追求另一種視覺(jué)效果。在設(shè)計(jì)的過(guò)程中瞻佛,需要給出各種花紋的材料和大小尺寸的三角形樣板,通過(guò)電腦臨時(shí)做出來(lái)娇钱,以便看看效果伤柄。
Input
每行包含一個(gè)字符和一個(gè)整數(shù)n(0<n<41),不同的字符表示不同的花紋文搂,整數(shù)n表示等腰三角形的高适刀。顯然其底邊長(zhǎng)為2n-1。如果遇到@字符煤蹭,則表示所做出來(lái)的樣板三角形已經(jīng)夠了笔喉。
Output
每個(gè)樣板三角形之間應(yīng)空上一行,三角形的中間為空硝皂。顯然行末沒(méi)有多余的空格常挚。
Sample Input
X 2
A 7
@
Sample Output
image.png
問(wèn)題簡(jiǎn)述
此題需注意輸出圖案之間的空行即可。除了第一個(gè)三角形吧彪,其余的前面都有空行待侵。
程序分析
定義變量,采用for循環(huán)輸出字符或空格姨裸。
AC程序如下:
//hdu2091
#include<iostream>
using namespace std;
int main()
{
char a; int b; int m = 0;
while (cin >> a >> b)
{
if (m != 0) cout << endl;
for (int line = 1; line <= b; line++)
{
if (line == 1)
{
for (int i = 1; i <= b; i++)
{
if (i == b)
cout << a;
else cout << ' ';
}cout << endl;
}
else if (line != 1 && line != b)
{
for (int j = 1; j <= b + line - 1; j++)
{
if (j == b + line - 1|| j == b - line+1)
cout << a;
else cout << ' ';
}cout << endl;
}
else if (line == b)
{
for (int t = 1; t <= 2 * b - 1; t++)
{
cout << a;
}
cout << endl;
}
}
m++;
if (a =='@')break;
}
return 0;
}