Test Message

c420: Bert的三角形 (3)

內容

Bert 有天騎著海豚到了埃及,看到了金字塔不經意的發出『 哇~~ 』

現在 Bert 想請你用程式記下金字塔的樣子~~

現在有一種 n 層的三金字塔,定義如下:

第 i 層要有相對數量的 " * ",請注意要像金字塔一樣向中間對齊

請你寫個程式幫幫 Bert ~~


輸入

單筆輸入~~

輸入只有一個整數 n (1 <= n <= 100)

n 保證為奇數

3

輸出

輸出整個三角形~~

因為空格不好辨識,請以"_" 代替 ~~

__*__
_***_
*****


解題思路

c419 的強化版,一樣先用底線初始化陣列,然後從中心開始每次都向左和右一字元將他們改成'*'後輸出即可。

本題雖說保證為奇數,但實際上不論奇偶都能形成完整的三角形。


完整程式碼

AC (2ms, 100KB)
#include <stdio.h>

char s[200];

int main()
{
int n;
scanf(" %d", &n);
for (int i = n * 2 - 2; i >= 0; i--)
s[i] = '_';
n--;
for (int i = 0; i <= n; i++)
{
s[n - i] = s[n + i] = '*';
puts(s);
}
return 0;
}