2023 荣耀笔试题 0911
笔试时间:2023年9月11日 秋招
第一题
题目
输入描述
输入是一个明文,password长度不超过100字符,输入的字符在文件首行。
输出描述
输出转换后的password
样例输入
LIming0701
样例输出
5464640701
参考题解
模拟打表,大写字母转化成小写字母,小写字母有三个字母一组和四个字母一组的
C++:[此代码未进行大量数据的测试,仅供参考]
#include <iostream> #include <string> char fun(char c) { if (std::islower(c)) { if (c == 'a' || c == 'b' || c == 'c') return '2'; if (c == 'd' || c == 'e' || c == 'f') return '3'; if (c == 'g' || c == 'h' || c == 'i') return '4'; if (c == 'j' || c == 'k' || c == 'l') return '5'; if (c == 'm' || c == 'n' || c == 'o') return '6'; if (c == 'q' || c == 'p' || c == 'r' || c == 's') return '7'; if (c == 't' || c == 'u' || c == 'v') return '8'; else return '9'; } else if (std::isupper(c)) { char low = std::tolower(c); if (low == 'a') { low = 'z'; } else { low = static_cast<char>(low - 1); } return fun(low); } else { return c; } } int main() { std::string s; std::cin >> s; std::string ans; for (char c : s) { if (c == ' ') continue; ans.push_back(fun(c)); } std::cout << ans << std::endl; return 0; }
Java:[此代码未进行大量数据的测试,仅供参考]
import java.util.Scanner; class MatrixFillProblem { public static void main(String[] args) throws InterruptedException { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); StringBuilder ans = new StringBuilder(); for (char c : s.toCharArray()) { if (c == ' ') continue; ans.append(fun(c)); } System.out.println(ans); } public static char fun(char c) { if (Character.isLowerCase(c)) { if (c == 'a' || c == 'b' || c == 'c') return '2'; if (c == 'd' || c == 'e' || c == 'f') return '3'; if (c == 'g' || c == 'h' || c == 'i') return '4'; if (c == 'j' || c == 'k' || c == 'l') return '5'; if (c == 'm' || c == 'n' || c == 'o') return '6'; if (c == 'q' || c == 'p' || c == 'r' || c == '
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
2023 秋招笔试题汇总解析 文章被收录于专栏
2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。