題目:
本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個*,要求按下列格式列印
*****
**** ***
*****
所謂「沙漏形狀」,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。
給定任意n個符號,不一定能正好組成乙個沙漏。要求列印出的沙漏能用掉盡可能多的符號。
輸入格式:
輸入在一行給出1個正整數n(≤1000)和乙個符號,中間以空格分隔。
輸出格式:
首先列印出由給定符號組成的最大的沙漏形狀,最後在一行中輸出剩下沒用掉的符號數。
輸入樣例:
19 *
輸出樣例:
*****
**** ***
*****
2
分析:
從上往下到只有一顆*
的這一行,*
的總數為n2(n為行數,設最中間的這一行為第一行,則每一行的*
的個數為2n-1
),故總*
數為2n2-1。
列印符號的每一行的右端直接換行就行,不用多此一舉列印空格。
程式:
#include
#include
intmain()
for(k = i; k >
0; k--
)//for(k = j; k > 0; k--)
printf
("\n");
j++;}
j = j -2;
for(i =
3; i <=
2*maxlnumofc-
1; i +=2
)for
(k = i; k >
0; k--
)//for(k = j; k > 0; k--)
printf
("\n");
j--;}
printf
("%d"
, rest)
;return0;
}
PAT 乙級 1027 列印沙漏
時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先...
PAT 乙級 1027 列印沙漏
本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏。要求列印出的沙漏能用掉盡可能...
PAT乙級1027 列印沙漏
首先想吐糟一下這個題,我還沒有考慮符號數小於七個的情況就ac了 思路很簡單 1.它給了乙個數,我們組成圖形的數目是固定的,而且滿足1 3x2 5x2 7x2的規律,那麼我們就可以計算出剩下的符號數。for迴圈找最大滿足組成圖形的符號數 2.根據最大滿足條件的符號數,我們就能畫出圖形。1.畫的時候分三...