#include\u0020 #include\u0020

using\u0020namespace\u0020std;

//\u0020判断是否为RXCY格式的坐标 bool\u0020isRXCY(string\u0020coord)\u0020{ \u0020\u0020if\u0020(coord[0]\u0020==\u0020'R')\u0020{ \u0020\u0020\u0020\u0020int\u0020i\u0020=\u00201; \u0020\u0020\u0020\u0020while\u0020(i\u0020<\u0020coord.size()\u0020&&\u0020isdigit(coord[i]))\u0020{ \u0020\u0020\u0020\u0020\u0020\u0020i++; \u0020\u0020\u0020\u0020} \u0020\u0020\u0020\u0020if\u0020(i\u0020<\u0020coord.size()\u0020&&\u0020coord[i]\u0020==\u0020'C')\u0020{ \u0020\u0020\u0020\u0020\u0020\u0020return\u0020true; \u0020\u0020\u0020\u0020} \u0020\u0020} \u0020\u0020return\u0020false; }

//\u0020将RXCY格式的坐标转换为Excel格式的坐标 string\u0020convertToExcel(string\u0020coord)\u0020{ \u0020\u0020int\u0020rIndex\u0020=\u0020coord.find('R'); \u0020\u0020int\u0020cIndex\u0020=\u0020coord.find('C'); \u0020\u0020int\u0020row\u0020=\u0020stoi(coord.substr(rIndex\u0020+\u00201,\u0020cIndex\u0020-\u0020rIndex\u0020-\u00201)); \u0020\u0020int\u0020col\u0020=\u0020stoi(coord.substr(cIndex\u0020+\u00201)); \u0020\u0020 \u0020\u0020string\u0020excelCoord\u0020=\u0020""; \u0020\u0020while\u0020(col\u0020>\u00200)\u0020{ \u0020\u0020\u0020\u0020col--; \u0020\u0020\u0020\u0020excelCoord\u0020=\u0020char('A'\u0020+\u0020col\u0020%\u002026)\u0020+\u0020excelCoord; \u0020\u0020\u0020\u0020col\u0020/=\u002026; \u0020\u0020} \u0020\u0020excelCoord\u0020+=\u0020to_string(row); \u0020\u0020 \u0020\u0020return\u0020excelCoord; }

//\u0020将Excel格式的坐标转换为RXCY格式的坐标 string\u0020convertToRXCY(string\u0020coord)\u0020{ \u0020\u0020int\u0020col\u0020=\u00200; \u0020\u0020int\u0020i\u0020=\u00200; \u0020\u0020while\u0020(i\u0020<\u0020coord.size()\u0020&&\u0020isalpha(coord[i]))\u0020{ \u0020\u0020\u0020\u0020col\u0020=\u0020col\u0020*\u002026\u0020+\u0020(coord[i]\u0020-\u0020'A'\u0020+\u00201); \u0020\u0020\u0020\u0020i++; \u0020\u0020} \u0020\u0020int\u0020row\u0020=\u0020stoi(coord.substr(i)); \u0020\u0020 \u0020\u0020return\u0020"R"\u0020+\u0020to_string(row)\u0020+\u0020"C"\u0020+\u0020to_string(col); }

int\u0020main()\u0020{ \u0020\u0020int\u0020n; \u0020\u0020cin\u0020>>\u0020n; \u0020\u0020cin.ignore();\u0020//\u0020忽略第一行的换行符 \u0020\u0020 \u0020\u0020for\u0020(int\u0020i\u0020=\u00200; i\u0020<\u0020n; i++)\u0020{ \u0020\u0020\u0020\u0020string\u0020coord; \u0020\u0020\u0020\u0020getline(cin,\u0020coord); \u0020\u0020\u0020\u0020 \u0020\u0020\u0020\u0020if\u0020(isRXCY(coord))\u0020{ \u0020\u0020\u0020\u0020\u0020\u0020string\u0020excelCoord\u0020=\u0020convertToExcel(coord); \u0020\u0020\u0020\u0020\u0020\u0020cout\u0020<<\u0020excelCoord\u0020<<\u0020endl; \u0020\u0020\u0020\u0020} else\u0020{ \u0020\u0020\u0020\u0020\u0020\u0020string\u0020rxcyCoord\u0020=\u0020convertToRXCY(coord); \u0020\u0020\u0020\u0020\u0020\u0020cout\u0020<<\u0020rxcyCoord\u0020<<\u0020endl; \u0020\u0020\u0020\u0020} \u0020\u0020} \u0020\u0020 \u0020\u0020return\u00200;

C++ 代码:Excel 坐标与 RXCY 坐标转换

原文地址: https://www.cveoy.top/t/topic/pEZz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录