複試機試 XN2018

2021-10-05 03:43:12 字數 3637 閱讀 6036

計科學碩

1.將乙個長度為10的數列,最大值放第乙個,最小值放最後乙個。

輸入:1 2 3 4 5 9 0 7 8 6

輸出:9 2 3 4 5 1 6 7 8 0

#include ;

using namespace std;

int num[10];

int main()

int maxvalue = -99999;

int maxindex = 0;

int minvalue = 99999;

int minindex = 0;

for (int i = 0; i <= 9; i++) else if (num[i] < minvalue)

}swap(num[0], num[maxindex]);

swap(num[9], num[minindex]);

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

cout << endl;

}

2.輸入幾個數,把素數找出,由大到小排序輸出。

輸入:6 11 5 10 13 35 9

輸出:5 11 13

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

bool isprime[1001];

vectorprime;

void initialize(int maxindex)

// 素數的倍速,不是素數

for (int i = 2; i <= maxindex; i++) }}

return ;

}int toint(string s)

int main()

s.erase(0, index + 1); // pos len, 連帶空格也刪掉

index = s.find(" ");

}if (s.size() > 0)

}//cout << "ok" << endl;

//cout << prime.size() << endl;

sort(prime.begin(), prime.end());

for (int i = 0; i <= prime.size() - 1; i++)

cout << endl;

}

3.輸入考生的學號、姓名、考試成績。輸入5個考生資訊,按照成績大小公升序和逆序輸出。使用指標函式,函式呼叫和結構體。

指標函式 == 返回值為 指標

函式指標==乙個指標變數,該指標指向這個函式

指標函式本質是乙個函式,其返回值為指標。

函式指標本質是乙個指標,其指向乙個函式。

void* : 可以用其指代任何型別的指標。 可以當int* double* 使用!

因為指標只佔1個位元組的空間,存放的是首位址,到底是int的首位址,還是double的首位址,看具體情況。

使用時:不能用void指標直接進行操作;只能轉換成對應型別指標後,才能操作

int a = 5;

void* p = & a;

cout << * (int*)p  << endl;

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

// student 代表結構體

// pstudent 代表 結構體的指標,開闢記憶體空間專門存放記憶體位址,存放student變數的第乙個位址。

typedef struct student student, * pstudent;

vectorres; // 存放student的指標

pstudent getpstudent(int no, string name, double score)

bool compare(pstudent a, pstudent b)

int main()

sort(res.begin(), res.end(), compare);

for (int i = 0 ; i <= res.size() - 1; i++)

for (int i = res.size() - 1 ; i >= 0; i--)

}

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

void show(int a)

void (*p_show)(int a);

void gethello()

void (*p_gethello)();

int main()

軟工農信

:1.輸入乙個整數n,輸出該整數中重複的數字,如果沒有重複出現的數字則輸出 no repeat number! 

輸入:2312626

輸出:2 6

#include using namespace std;

long long n;

int num[10]; // 0 ~ 9

int cnt;

int main()

cnt = 0;

cin >> n;

while (n > 0)

if (!cnt)else

}cout << endl;

}}

2.輸入乙個字串,統計字串中大、小寫字母,數字及其他字元出現的次數

輸入:abcd123!abc

輸出:3 4 3 3

#include #include #include using namespace std;

int cntup = 0;

int cntlow = 0;

int cntnum = 0;

int cntother = 0;

int main() else if (s[i] >= 'a' && s[i] <= 'z') else if (s[i] >= '0' && s[i] <= '9') else

}printf("%d %d %d %d\n", cntup, cntlow, cntnum, cntother);

}

3.輸入5個字串,對字串排序並輸出

#include #include #include using namespace std;

vectorres;

bool compare(string s1, string s2)

int main()

sort(res.begin(), res.end(), compare);

for (int i = 0; i <= res.size() - 1; i++)

cout << endl;

}

2018 BIT複試機試

1 輸入乙個只含有英文本母的字串,輸出最大回文子串的長度及此長度回文子串的個數 回文不區分大小寫 樣例 輸入abaab 最大回文子串為baab 輸出4 1 輸入abcbbb 最大回文子串為bcb和bbb 輸出 3 2 實際測試樣例 輸入 a b 輸出 1 2 輸入 abcbb 輸出 3 1 輸入 a...

王道複試機試(2)

學號姓名排名 用sort函式 include include include using namespace std struct student student arr 100 bool compare student x,student y else return x.score int mai...

王道複試機試(7)

1.bfs寬度優先搜尋 include include include using namespace std void bfs int n myqueue.push current 10 myqueue.push current 10 1 int main return0 3的過程應該就是 右為隊...