2023年北航計算機複試上機題

2021-08-26 07:34:13 字數 2500 閱讀 7487

當前程式設計題:求孿生數

1.

【問題描述】

孿生數定義:如果a的約數(因數,包含1,但不包含a本身)之和等於b,b的約數(因數)之和等於a,a和b稱為孿生數(a和b不相等)。試找出正整數m和n之間的孿生數。

【輸入形式】

從控制台輸入兩個正整數m和n(1<=m【輸出形式】

在標準輸出上輸出符合題目描述的m和n之間的全部孿生數對(包括m和n)。每行輸出一對孿生數,用乙個空格隔開,小的先輸出;各行孿生數按照第乙個數從小到大的順序輸出,一對孿生數隻輸出一次。如果沒有符合要求的孿生數對,則輸出字串「none」。

【輸入樣例1】

20 300

【輸出樣例1】

220 284

【輸入樣例2】

200 250

【輸出樣例2】

none

【樣例說明】

樣例1輸入的區間為[20,300],其間有一對孿生數對,即:220(1+2+4+5+10+11+20+22+44+55+110=284)和284(1+2+4+71+142=220)。樣例2輸入的區間是[200,250],其間沒有孿生數對,所以輸出字串:none。

【評分標準】

該題要求輸出區間中的所有孿生數對,共有5個測試點,提交程式檔名為example1.c或example1.cpp。

當前程式設計題:矩陣替換a

2.

【問題描述】

先輸入兩個矩陣a和b,然後輸入替換位置(左上角),編寫程式將矩陣a中從替換位置開始的子矩陣(與b同樣大小)替換為b,並輸出替換後的矩陣。

【輸入形式】

從控制台先輸入矩陣a的行數和列數(行數和列數均大於等於1,小於等於20),然後在新的行上輸入矩陣a的各行數字(以乙個空格分隔的整數)。再以同樣的方式輸入矩陣b。最後輸入替換位置(用乙個空格分隔的兩個整數表示,行數和列數都從1開始計數,因此兩個整數都大於等於1)。若替換位置超出了矩陣a的行數或列數,則原樣輸出矩陣a。

【輸出形式】

在標準輸出上分行輸出替換後的矩陣,每行中各數字之間以乙個空格分隔。

【輸入樣例1】

5 610 2 34 -1 800 90

2 76 56 -200 23 1

35 0 0 98 8 3000

2000 100 -1 1 2 0

8 7 85 963 496 8

2 39 9 9

9 9 9

3 3【輸出樣例1】

10 2 34 -1 800 90

2 76 56 -200 23 1

35 0 9 9 9 3000

2000 100 9 9 9 0

8 7 85 963 496 8

【樣例1說明】

輸入的矩陣a為5行6列,矩陣b是2行3列,替換位置為第3行的第3列,即:將a中第3行第3列開始的、行數為2列數為3的子矩陣替換為b。

【輸入樣例2】

3 410 2 34 -1

2 76 56 -200

35 0 0 98

2 39 9 9

9 9 9

2 3【輸出樣例2】

10 2 34 -1

2 76 9 9

35 0 9 9

【樣例2說明】

輸入的矩陣a為3行4列,矩陣b是2行3列,替換位置為第2行的第3列,即:將a中第2行第3列開始的、行數為2列數為3的子矩陣替換為b。但該子矩陣超出了a的範圍,所以只實現了部分替換。

【評分標準】

該題要求輸出替換後的矩陣,共有5個測試點,提交程式檔名為example2.c或example2.cpp。

當前程式設計題:擴充套件字元a

3.

【問題描述】

從鍵盤輸入包含擴充套件符'-'的字串,將其擴充套件為等價的完整字元,例如將a-d擴充套件為abcd,並輸出擴充套件後的字串。

要求:只處理[a-z]、[a-z]、[0-9]範圍內的字元擴充套件,即只有當擴充套件符前後的字元同時是小寫字母、大寫字母或數字時才進行擴充套件,其它情況不進行擴充套件,原樣輸出。例如:a-r、d-e、0-b、4-b等字串都不進行擴充套件。

【輸入形式】

從鍵盤輸入包含擴充套件符的字串

【輸出形式】

輸出擴充套件後的字串

【輸入樣例1】

adea-g-m02

【輸出樣例1】

adeabcdefghijklm02

【輸入樣例2】

cdet-bcd

【輸出樣例2】

cdet-bcd

【樣例說明】

將樣例1的輸入adea-g-m02擴充套件為:adeabcdefghijklm02;樣例2的輸入cdet-bcd中,擴充套件符前的字元為大寫字母,擴充套件符後的字元為小寫字母,不在同一範圍內,所以不進行擴充套件。

【評分標準】

結果完全正確得15分,共5個測試點,每個測試點3分,提交程式檔案expand.c或expand.cpp。

我的**位址

北航2023年計算機複試上機

第一題 從輸入的字串中,統計空格,回車,tab出現的次數 include include include int main buf i 0 len strlen buf for i 0 i 第二題 將兩個公升序字串合併成乙個公升序字串,相同的字母,出現一次。include include int c...

2011北郵計算機院複試上機題

problem.a 反轉單詞 思路 經典的考察對於輸入輸出流的理解的題,可作為模板記住,用字串型的棧儲存輸入的單詞,因為題中說明了沒有連續空格也沒有標點符號,所以可以放心使用cin,跳過空格但不跳過回車,回車需要特殊處理。個人認為也可用getline cin,str,作為迴圈條件 如果包含空格或者是...

北航複試上機14年真題

第一題,階乘數。輸入乙個正整數,輸出時,先輸出這個數本身,跟著乙個逗號,再輸出這個數的各位數字的階乘和,等號,階乘和的計算結果,並判斷階乘和是否等於原數,如果相等輸出yes,否則輸出no。題目說明輸入的正整數以及其各位階乘和都不會超出int型的表示範圍。輸入樣例1 輸出樣例1 145,1 4 5 1...