联通数字科技技术研发类笔试
都11月份了,莫名其妙收到了联通数科的笔试短信,想了想我好像投过山东的,也投过南京的嵌入式软开,也不知道这是哪家给我发的,有时间就做了。
限时70分钟,实际用时25分钟,但是开考30分钟后才能交卷,又等了5分钟。
- 卷1:能力测试,10道选择题,小学数学应用题,分值20;
- 卷2:基础技术知识,25道选择题,操作系统、计算机网络、数据库、SQL、数据结构与算法、Java等,分值50分;
- 卷3:专业知识,5道多选题,包括数据库、正则表达式、Redis、Java、Nacos;
- 卷4:在线编程,1道编程题,分值15。
编程题:
题目描述: 某班有10名同学,目前已经有9名同学成绩已经按照从低到高的次序进行排列,有1名同学成绩因在等分过程中,不小心遗漏掉,现要求输入该同学成绩后,依然保持有序。 输入描述: 分别输入原有的9名同学成绩 以及被遗漏的第10名同学成绩 输出描述: 排序后的10名同学成绩。 输入样例: 85 90 92 93 95 96 96 96 97 91 输出样例: 85 90 91 92 93 95 96 96 96 97
答案:
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { // 定义原有的9名同学成绩数组 vector<int> scores(9); // 输入9名同学的成绩 cout << "请输入9名同学的成绩(已排序):"; for (int i = 0; i < 9; ++i) { cin >> scores[i]; } // 输入被遗漏的第10名同学的成绩 int missingScore; cout << "请输入第10名同学的成绩:"; cin >> missingScore; // 将遗漏的成绩插入到数组中 scores.push_back(missingScore); // 对成绩重新排序 sort(scores.begin(), scores.end()); // 输出排序后的成绩 cout << "排序后的成绩:"; for (const int& score : scores) { cout << score << " "; } cout << endl; return 0; }
评价:我已经忘了山东省我投的什么岗了,但是要真是南京嵌软岗给我发的这个,你是一点嵌入式知识都没考啊,全是Java后端的八股!
#运营商笔面经互助#