虹软-嵌入式C/C++笔试
没有选择,只有5道编程题,每道题20分。
1、给定一个n*m的空矩阵,向矩阵中的每个元素存入非负整数。
输入:第一行输入两个整数 n m,表示矩阵大小;
第二行输入一个非负数列A,数列元素个数>=n*m;
元素存入规则:
(1)每次向矩阵的每行各存入一个元素,共m个。n次后矩阵存满;
(2)只能从数列的头或者尾获取元素,再存入矩阵。
(3)每次存入都有一个奖励,为每行存数的奖励和,每行存数的奖励=被存入元素值*(iK),i表示该行的第i次存数(i从1开始),K表示所在的行数(K从1开始)。
(4)游戏结束总奖励为n次存数奖励之和。
示例:
输入:2 2
1 1 1 2
输出:13
//动态规划
2、给定一个递增的整数数组,数组大小0<n<=10000,使用二分查找指定整数所在位置。
输入:第一行输入待查找的整数。
第二行输入数组大小n。
第三行输入数组,以空格分隔。
输出:
如果数组大小超出,输出“invalid input size!”;
如果找到元素,输出元素的位置,以0开始;
如果找不到,输出“not found”(末尾不需要添加空格和换行)。
示例:
输入:1
3
1 2 3
输出:0
3、给一个字符串句子,反转字符串中单词的顺序,单词本身的顺序不变。(*****. 反转字符串中的单词)
4、给定columnNumber,返回他在Excel表中对应的列名称(大写)。
如:1->A 2->B 26->Z 27->AA 28->AB
#include <iostream> #include <vector> #include <string> using namespace std; int main() { int columnNumber; string res; cin >> columnNumber; while (columnNumber > 0) { columnNumber--; res = (char)(columnNumber % 26 + 'A') + res; columnNumber /= 26; } cout << res << endl; return 0; }
5、待补充。。。。。
#通信硬件人笔面经互助##虹软春招##嵌入式#嵌入式学习免费专栏 文章被收录于专栏
分享嵌入式软件开发相关资料,专栏永久免费,嵌入式学习技术交流