荣耀嵌入式软件开发工程师笔试4-25
公号:嵌入式未来
《嵌入式软件开发笔试与面试手册》:https://blog.nowcoder.net/zhuanlan/jvN8gj
《嵌入式软件笔试-2023年真题汇总》:https://blog.nowcoder.net/zhuanlan/0oDWVm
1、字符串转整数
实现一个把字符串转为整数的函数。自动删除开头无效空白字符,遇到第一个字符为"+"/"-”,则返回整数为正/负。若第一个字符不是数字和"+"/"-”,则直接返回0。超过32位的int范围,返回最大或最小值即可INT_MAX (2^31一1)或INT_MIN(-2^31)。
输入描述
输入为任意字符串
输出描述
返回数值
示例1
输入:
32
输出:
32
#include <iostream> #include <string> #include <climits> using namespace std; int solv(string s) { if (s.empty()) { return 0; } s.erase(0, s.find_first_not_of(' ')); if (s.empty()) { return 0; } int flag = 1; if (s[0] == '+' || s[0] == '-') { if (s[0] == '-') { flag = -1; } s.erase(0, 1); } long long res = 0; for (char c : s) { if (!isdigit(c)) { break; } res = res * 10 + (c - '0'); } res *= flag; if (res > INT_MAX) { return INT_MAX; } if (res < INT_MIN) { return INT_MIN; } return (int)res; } int main() { string s; getline(cin, s); cout << solv(s) << endl; return 0; }
2、概率计算
假设一个端口每毫秒收到的包的个数,是独立且同分布的。已知每毫秒收到的包的个数大于100个的概率为P_large。请求解以下事件的概率,并将概率输出: 连续N_meas毫秒之内,“某毫秒收到的包的个数大于100个”的毫秒的个数“大于等于N1且小于等于N2"的概率
输入描述
[P_large N_meas N1 N2], "["和"]"之内为输入。每个输入由空格隔开。
输出描述
以"1.2f"打印概率(不要打印或输出任何其它变量)
示例1
输入:
[0.75 50 30 40]
输出:
0.83
#include <iostream> #include <iomanip> #include <cmath> #include <vector> #include <sstream> double combination(int n, int k) { double result = 1; for (int i = 1; i <= k; ++i) { result *= (n - k + i) / static_cast<double>(i); } return result; } double binomial_probability(double p, int n, int k) { return combination(n, k) * pow(p, k) * pow(1 - p, n - k); } int main() { char bracket; double P_large; int N_meas, N1, N2; std::cin >> bracket >> P_large; std::cin.ignore(); std::cin >> N_meas; std::cin.ignore(); std::cin >> N1; std::cin.ignore(); st
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式软件笔试-24届真题汇总 文章被收录于专栏
本专栏主要发布嵌入式软件开发相关岗位2023年(2024届)的笔试真题(嵌入式软件开发、通用软件开发、C/C++软件开发、算法工程师、数据开发、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。