c c 機試排版類問題

2021-09-11 11:49:40 字數 3321 閱讀 3764

第一題,列印梯形:

題目描述:

輸入乙個高度h,輸出乙個高為h,上底邊為h的梯形。

輸入:

乙個整數h(1<=h<=1000)

輸出:

h所對應的梯形。

樣例輸入:

4

樣例輸出:

****

******

********

**********

這題比較簡單,**為:

#include#include#include#include#include#includeusing namespace std;

// h h+2 h+2*2 h+2*3 h+2*4 最後一行共h+2*(h-1)= 3h-2 第i行共h+2*(i-1)

//每行有空格數: 3h-2-h-2*(i-1) = 2*h-2*i

int main()

} return 0;

}

執行結果:

4

****

******

********

**********

第二個問題:

題目描述:

把乙個個大小差一圈的筐疊上去,使得從上往下看時,邊筐花色交錯。這個工作現在要讓計算機來完成,得看你的了。

輸入:

輸入是乙個個的三元組,分別是,外筐尺寸nn為滿足0的奇整數),中心花色字元,外筐花色字元,後二者都為ascii可見字元;

輸出:

輸出疊在一起的筐圖案,中心花色與外筐花色字元從內層起交錯相疊,多筐相疊時,最外筐的角總是被打磨掉。疊筐與疊筐之間應有一行間隔。

樣例輸入:

11 b a

5@w

**為:

#include#include#include#include#include#includeusing namespace std;

int output[82][82];

int main()

} if (n != 1)

//不同的for使得區域性變數i,j可以重新被使用

for (int i = 1; i <= n; i++)

}return 0;

}

執行結果:

11 b a

aaaaaaaaa

abbbbbbbbba

abaaaaaaaba

ababbbbbaba

ababaaababa

abababababa

ababaaababa

ababbbbbaba

abaaaaaaaba

abbbbbbbbba

aaaaaaaaa

5 @ w

@@@@www@

@w@w@

@www@

@@@

這裡由於列印按照從上到下,從左到右的方式列印,靠著找規律的方式列印雖然也可以實現,但較為複雜,當然在沒有思路的情況下,完全可以按照找規律,即列印上面梯形的方式輸出結果。本題所採用的的方式是按照陣列的方式進行儲存各個座標,但是很難想到三邊賦值操作。

這裡其實有乙個困惑就是scanf不應該是每次掃瞄乙個資料就輸出依次嗎,為什麼感覺題目所要求的框每隔一行有點奇怪,這個問題暫時mark一下。

3. 趁熱打鐵,用座標的方法輸出下面的圖形(輸入奇數,用%4d列印),這題和上面有一些地方不同,不能用乙個迴圈反覆列印上下,必須按照右面上面左面下面的順序依次進行列印,每個框的邊長每次增加 2,共有 n * n個數,右下角都是邊長的平方。

輸出為:

3

5 6 7

4 1 8

3 2 9

5 17 18 19 20 21

16 5 6 7 22

15 4 1 8 23

14 3 2 9 24

13 12 11 10 25

7 37 38 39 40 41 42 43

36 17 18 19 20 21 44

35 16 5 6 7 22 45

34 15 4 1 8 23 46

33 14 3 2 9 24 47

32 13 12 11 10 25 48

31 30 29 28 27 26 49

**為:

#include#include#include#include#include#includeusing namespace std;

int output[82][82];

int main()

for (int i = 1; i <= n; i++)

}return 0;

}

c c 機試中的 hash 問題

先看乙個問題 要求先輸入數目 n 再輸入 n 個數 取值範圍 0 到 100 n 0 時程式結束,再輸入乙個值 a,輸出 n 個數中與 a 相同的數字的個數。面對這樣的問題,很容易想到的是將輸入的 n 個數先儲存起來,然後 將輸入的 n 與上述的 n 個數進行比較,cnt 的方式最終輸出胡個數,這裡...

王道機試 日期類問題

題目描述 有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天輸入 有多組資料,每組資料有兩行,分別表示兩個日期,形式為yyyymmdd輸出 每組資料輸出一行,即日期差值做題思路 樣例輸入 20110412 20110422樣例輸出 11對於日期類 年月日,就像學生資訊...

座標移動 華為機試 C C

開發乙個座標計算工具,a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從 0,0 點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。輸入 合法座標為a 或者d或者w或者s 數字 兩位以內 座標之間以 分隔。非法座標點需要進行丟棄。如aa10 a1a yad ...