PTA 自測題 列印沙漏

2021-10-02 07:43:08 字數 990 閱讀 7152

本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個「*」,要求按下列格式列印

*****

**** ***

*****

所謂「沙漏形狀」,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。

給定任意n個符號,不一定能正好組成乙個沙漏。要求列印出的沙漏能用掉盡可能多的符號。

輸入在一行給出1個正整數n(≤1000)和乙個符號,中間以空格分隔。

首先列印出由給定符號組成的最大的沙漏形狀,最後在一行中輸出剩下沒用掉的符號數。

19 *
*****

**** ***

*****

2

思路:

1,首先確定可組成沙漏時所需要的最多符號數,把沙漏看成兩個三角型,設定變數w表示三角的最長行所需要的符號,count表示三角的行數,sum表示符號總數。

2,通過觀察沙漏形狀,通過平移可以得出 sum=w*w-count*count*2;(這裡可以用i表示沙漏以原點向外擴充套件的層數通過化簡可以得出公式sum=2*i*i+4*i+1;

3,列印沙漏分上兩部分列印,首先列印空格,再打符號。

**:

#include#includeint main()

} int n,nn;

if(a!=t)

nn=w;

int s=1;

for(int j=0;jfor(int k=0;kprintf("\n");

w=w-2;

} else

for(int i=0;ifor(int k=0;kprintf("\n");

w=w+2;

} }printf("%d",t-a);

}

PTA 起步能力自測題(一)列印沙漏 C

自測 1 列印沙漏 20 分 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏...

自測題1道

看到這樣一樣題,想想就簡單的寫了寫自測一下,還是有很多收穫。需求 1.模擬銀行,客戶關係封裝類 2.客戶到銀行辦理業務需先排隊 3.銀行根據佇列處理業務,優選選擇金卡客戶 4.辦理建卡 存款 取錢 銷戶業務。思路 1.定義銀行類,客戶類,佇列類 2.思考現實例項,銀行 佇列只能有乙個例項,客戶可以有...

課時 3 自測題

kubernetes 的中文含義是 單選題 a.船 b.舵手 c.容器平台 d.起重機 kubernetes 進行資源排程的最小粒度是 單選題 a.程序 b.容器 c.pod d.虛擬機器 kubernetes 的主要功能不包括 多選題 a.service discovery and load ba...