虹软-嵌入式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、待补充。。。。。

#通信硬件人笔面经互助##虹软春招##嵌入式#
嵌入式学习免费专栏 文章被收录于专栏

分享嵌入式软件开发相关资料,专栏永久免费,嵌入式学习技术交流

全部评论
第一题不是动态规划吧
点赞 回复
分享
发布于 04-27 22:21 贵州
有两道题一模一样
点赞 回复
分享
发布于 04-28 20:11 浙江
联想
校招火热招聘中
官网直投

相关推荐

5 9 评论
分享
牛客网
牛客企业服务