题解 | 小乐乐改数字
#include <iostream> #include <string> using namespace std; int main() { string s; cin >> s; for (int i = 0; i < s.size(); i++) { if (s[i] % 2) s[i] = '1'; else s[i] = '0'; } cout << stoi(s) << endl; return 0; }
抛开整形int数组的固化思维,这题用string类型更容易理解。在输入完整的字符串后,“10010101”中每个字符被for循环在初始下标0开始遍历,再通过奇偶位判断,奇位改为‘1’,偶位改为‘0’。遍历完之后修改成功,在按照题目的要求通过stoi将string类型转换为int类型并输出。