赞
踩
在8月6号我做了一下大疆科技测试工程师的笔试题,虽然我对测试工程师比较陌生,但是由于大疆科技难度比较高,所以我还是谨慎的选择了测试工程师
下面我来说一下笔试题大概内容
1.单选题:难度不大,但是涉及范围特别广,可能因为我选择的场次比较靠后,所以难度可能会比前面一场难度大一些,但是单选题还是很基础的,不过会涉及大疆公司关于无人机产品,或者关于图像方面的知识。
2.多选题:多选题难度也不是很高,主要会涉及到一些关于算法的知识,但是只要基础扎实,应该不会有问题,数据结构的查找排序和链表绝对是各大公司笔试常有题
3.编程题:这次的编程真的很复杂,只能说中国文字博大精深。我原本以为我有充足的时间可以写完编程,然而并没有,下面我来说一下这个编程题的内容
将阿拉伯数字转换为文字: 例如:999-->九百九十九 ; 10080-->一万零八十
难点:不只是单纯的转换数字成大写汉字,还要将它与百,万,零等表示大小的数字进行结合
笔试过程中我并没有写完,笔试之后我按照之前的思路解决了这个问题,下面是我的思路和代码
通过这张图,可以看出转化过程中我们需要找到一定的规律,除了个位,其它的每一位我们都需要标识它的单位
所以一开始我们就需要建立两个数组来存放数字和单位,
vector<string> letter;//存放0-9字符
vector<string> letters; //存放单位字符串
接下来找到规律后就简单了,可以按照规律将循环和判断的思路写出来就可以了
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <vector>
- #include <string>
- using namespace std;
- string convertNum(int num)
- {
- vector<string>letter;
- letter.push_back("0");
- letter.push_back("1");
- letter.push_back("2");
- letter.push_back("3");
- letter.push_back("4");
- letter.push_back("5");
- letter.push_back("6");
- letter.push_back("7");
- letter.push_back("8");
- letter.push_back("9");
- vector<string>letters;
- letters.push_back(" ");
- letters.push_back("S");
- letters.push_back("B");
- letters.push_back("Q");
- letters.push_back("W");
- letters.push_back("S");
- letters.push_back("B");
- letters.push_back("Q");
- letters.push_back("Y");
- letters.push_back("S");
- string str;
- string des;
- char tmm[12];
- sprintf(tmm, "%d", num);//字符串格式化命令,将格式化数据写入到字符串中
- str += tmm;
- int leight = str.size();
- bool Isbool = false; //用来查看i位字符是否是0,进行标识
- for ( int i = 0; i < leight; i++)
- {
- int digit = str.at(i) - '0';//str.at(pos),返回对pos位置字符的引用
- int unit_index = leight - i - 1;
- if (i == 0 && digit == 1 && (unit_index == 1 || unit_index == 5 || unit_index == 9))
- {
- des += letters[unit_index];
- }
- else if ( digit == 0 )
- {
- Isbool = true;
- if (unit_index == 4 ||unit_index == 8)
- {
- des += letters[unit_index];
- }
- }
- else
- {
- if ( Isbool )
- {
- des.append(letter[0]);
- }
- des += letter[digit];
- des += letters[unit_index];
- Isbool = false;
- }
- }
-
- return des;
- }
- int main()
- {
- int num;
- cin >> num;
- cout << convertNum(num) << endl;
- system("pause");
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。