2021 大厂实习笔试
生活随笔
收集整理的這篇文章主要介紹了
2021 大厂实习笔试
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
阿里巴巴
將數字用字符替代,并且完成數字的加減操作再以字符輸出
#include<iostream>; #include <string> #include<algorithm>using namespace::std;int charTurnToNum(char c) {switch (c){case ')':{return 0;}case '!':{return 1;}case '@':{return 2;}case '#':{return 3;}case '$':{return 4;}case '%':{return 5;}case '^':{return 6;}case '&':{return 7;}case '*':{return 8;}case '(':{return 9;}default:return -1;break;} };void turnOneLineToTwoNum(string str, int& num1, int& num2) {num1 = 0;num2 = 0;string::iterator c = str.begin();//第一個數if ((*c) == '-'){c++;while (*c != ' '){num1 = 10 * num1 + charTurnToNum(*c);c++;}num1 = -num1;}else{while (*c != ' '){num1 = 10 * num1 + charTurnToNum(*c);c++;}}c++;//第二個數if ((*c) == '-'){c++;while ((c) != str.end()){num2 = 10 * num2 + charTurnToNum(*c);c++;}num2 = -num2;}else{while ((c) != str.end()){num2 = 10 * num2 + charTurnToNum(*c);c++;}} }char charTurnToChar( char num) {switch (num){case '0':{return ')';}case '1':{return '!';}case '2':{return '@';}case '3':{return '#';}case '4':{return '$';}case '5':{return '%';}case '6':{return '^';}case '7':{return '&';}case '8':{return '*';}case '9':{return '(';}default:break;}}void turnNumIntToString(int num, string& str) {str.clear();string numStr = std::to_string(num);string::iterator strIter = numStr.begin();while (strIter != numStr.end()){if ((*strIter) == '-'){str.push_back(*strIter);}else{str.push_back(charTurnToChar(*strIter));}strIter++;} };int main() {string strLine;getline(cin, strLine);//cout << strLine;//cout << strLine.front();int num1;int num2;turnOneLineToTwoNum(strLine, num1, num2);int num3 = num1 + num2;string addStr;turnNumIntToString(num3, addStr);cout << "num1 : "<<num1 << " " <<"num2 : "<< num2 <<endl;cout << "addstr : " << addStr << " "<<num3<< endl; }值得注意的是用cin標準輸入流,>> 操作符每次只讀一個字符串,getline才是讀取一行數據
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的2021 大厂实习笔试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ STL:unordered_ma
- 下一篇: Qt中消息的机制原理