2023年北郵複試上機題目

2021-10-02 03:23:29 字數 4678 閱讀 1417

2023年北郵複試上機題目

2008.problem a.人數統計

description

今年計算機學院研究生入學複試分多個小組。現在老師需要知道每組複試同學中男生和女生的人數。請你編寫程式分別統計出男女生的總人數。

input

輸入的第一行是乙個數t(0 < t < 10),表示有t組測試用例。

對於每組輸入資料有兩行,第一行是乙個正整數n(1 < n < 1000),表示參加該組複試的總人數。接下來一行有n個整數(取值為0或1),0代表男生,1代表女生,整數間由乙個空格隔開。

output

對於每組測試用例,輸出一行,由兩個數組成,用乙個空格隔開,分別表示男生和女生的總人數。

sample input22

1 07

0 1 0 0 1 1 0

sample output

1 14 3

#include using namespace std;

int main()

cout << male << " " << female << endl;

}return 0;

}

2008.problem b.數字統計

description

給你乙個非常大的整數x,(-10^400 <=x<= 10^400),請統計x的每一位,分別輸出9,1,2出現的次數.

input

乙個大整數;

output

一共三行,第一行是9出現的次數,第二行是1出現的次數,第三行是2出現的次數。

sample input

912912912910915902

sample output65

4

#include using namespace std;

int main()

; string str;

cin >> str;

if( str[0] == '-')

str.erase(0, 1);

int len = str.size();

for( int i = 0; i < len; i++ )

cout << cnt[9] << endl;

cout << cnt[1] << endl;

cout << cnt[2] << endl;

return 0;

}

2008.problem c.統計字母

description

給定乙個只有小寫英文本母組成的字串,串長為n。請你編寫程式求出這個字串**現次數最多的字母。

input

輸入的第一行為t(0 < t < 10),表示有t組測試用例。

對於每組測試用例,輸入有兩行。

第一行是乙個正整數n( 1 < n < 100)表示字串的長度。

後面一行是乙個長度為n的字串(只由小寫字母組成)。

output

對於每組測試用例,輸出一行,僅輸出出現次數最多的字母。

測試用例保證出現次數最多的字母只有乙個。

sample input25

acmcs

3zzt

sample outputcz

#include #include using namespace std;

int main()

; cin >> n;

string str;

cin >> str;

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

cnt[ str[i] - 'a' ]++;

maxalpha = 0;

maxcnt = 0;

for( int i = 0; i < 26; i++ )

}cout << (char)( maxalpha +'a' ) << endl;

}return 0;

}

2008.problem d.二叉樹前序遍歷

description

給定一棵有n個結點的二叉樹,結點的編號為0~n-1。請你編寫程式輸出二叉樹的前序遍歷序列。

input

輸入的第一行是乙個正整數t(1 < t < 20),表示有t組測試用例。

對於每組測試用例,第一行是乙個整數n(0 < n < 20),表示二叉樹結點個數。第二行是乙個數r(0≤r≤n-1),二叉樹根結點的編號。

後面有n-1行,表示二叉樹n-1條邊的資訊。每行三個數a,b,c,三個數間由空格隔開,其中0≤a,b≤n-1且a≠b, c為0或1。a表示邊的起點,b表示邊的終點。如果c為0,表示b是a的左兒子;如果c為1,表示b是a的右兒子。

output

對於每組測試用例輸出一行,即:該二叉樹的前序遍歷序列,兩個節點編號之間留乙個空格。

sample input23

22 0 0

2 1 170

0 1 0

0 2 1

1 3 0

1 4 1

2 5 0

2 6 1

sample output

2 0 1

0 1 3 4 2 5 6

hint

由於是計算機自動判題,請嚴格按照題目的描述輸入輸出,不要有任何多餘的字元出現,尤其是輸出行的行首和行尾都不要有多餘的空格

#include #include using namespace std;

const int maxn = 100;

typedef struct node

void initnode()

};node tree[maxn];

int n;

void inittree()

void createtree()

}bool firstcase = true;

void preorder( int root )

int main()

preorder( root );

cout << endl;

}return 0;

}

2008.problem e.科學計算器

description

給你乙個不帶括號的表示式,這個表示式只包含加、減、乘、除,請求出這個表示式的最後結果,最後結果一定是整數;

input

乙個數學表示式,只包括數字,數字保證是非負整數,以及五種運算子"+","-","*","/","=";數字和運算子之間有乙個或者多個空格,運算子的總數不會超過100,最後以"=「號結尾,表示表示式結束。注意:使用c的同學,在讀取字串的時候請使用scanf(」%s",…);以免不必要的錯誤。

output

整數;sample input

1 + 2 + 3 * 6 / 9 =

sample output

5

#include #include #include #include using namespace std;

bool cmp( string op1, string op2 )

int cal(int n1, int n2, string op )

int main()}}

return 0;

}

2008.problem f.尋找第k小的數

description

給你n個完全不相同整數(n<=300),每乙個數都大於0並且小於1000,請找出第k小的數。

input

輸入包括兩行,第一行用空格隔開的兩個數 n和k;第二行有n個不行同的數;

output

輸出第k小的數字;

sample input

5 33 2 5 4 1

sample output

3

#include #include using namespace std;

const int maxn = 1000;

int num[maxn];

int main()

num[low] = pivot;

if( low < k )

else if( low > k )

else

cout << num[low] << endl;

}return 0;

}

2023年北郵網研院複試上機題目

2018.網研院.problem a.商品總價 題目描述 類似超市結賬,計算購買的商品的總 輸入 第一行為測試資料組數t 0輸出 每一行輸出相對應資料的總價值,保留兩位小數。樣例輸入 2 21.00 樣例輸入 樣例輸出 3.00 100.00 include using namespace std ...

2023年北郵網研院複試上機題目

今年網研上機白送,菜雞如我,未能4a。還是轉一下題目,完善一下部落格。因為 在考場上a過了,這裡就不貼 了。2019.網研院.problem a.牙膏問題 題目描述 4只牙膏比較 返回最便宜的牙膏 輸入 第一行輸入t,表示資料的組數 第二行輸入a b c d 表示4只牙膏的 輸出 返回最低 樣例輸入...

2010北郵複試網研上機題

轉眼間,研究生已經過去半年了,從當初的電腦小白到如今也能熟練的操作linux系統,心裡感慨也是很多的。當初耿耿於懷的是北郵複試的時候c基礎太差,導致上機題一道也沒做出來,雖然這半年我主要學習的是運維,但是也對php和c有了一定的了解,今天下午把北郵2010的上機題又做了一下,貼出 和大家共享,其實態...