本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個「*」,要求按下列格式列印
*****
**** ***
*****
所謂「沙漏形狀」,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。
給定任意n個符號,不一定能正好組成乙個沙漏。要求列印出的沙漏能用掉盡可能多的符號。
輸入在一行給出1個正整數n(≤1000)和乙個符號,中間以空格分隔。
首先列印出由給定符號組成的最大的沙漏形狀,最後在一行中輸出剩下沒用掉的符號數。
19 *
*****
**** ***
*****
2
分析行數(最小值),然後分兩部分處理,注意下空格個數和字元個數就ok
#include#includeint main()
// 1 3 5 7
// 行數為x,底邊為2x-1 2x*x/2=x^2 即1 4 9
// 總數為2x^2-1 <= n
int x = sqrt((n+1)/2);
for(int i=x;i>=1;i--)
for(int i=2;i<=x;i++)
int count = n-2*x*x+1;
printf("%d",count);
return 0;
}
1027 列印沙漏 (20 分)
1027 列印沙漏 20 分 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏...
1027 列印沙漏 (20 分)
1027 列印沙漏 20 分 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏...
1027 列印沙漏 (20 分)
本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏。要求列印出的沙漏能用掉盡可能...