#include #include using namespace std;

// 定义字符数组,用于存储16进制的字符 char hexChars[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

// 十进制转换为m进制的函数 string convertToM(int num, int m) { string result; // 处理特殊情况,如果num为0,则直接返回"0" if (num == 0) { return "0"; } // 处理负数的情况,将num取绝对值,结果加上负号 if (num < 0) { result += "-"; num = -num; } // 不断取余数,将余数添加到结果中,直到num为0 while (num > 0) { int remainder = num % m; // 如果m为16,将余数转换为对应的16进制字符 if (m == 16) { result = hexChars[remainder] + result; } else { result = to_string(remainder) + result; } num /= m; } return result; }

int main() { int num, m; cin >> num >> m; string result = convertToM(num, m); cout << result << endl; return 0;

C++且不使用vector头文件完成:学完进制转换之后小明同学发现每次手动计算都很麻烦于是他想利用编程知识来实现一个进制转换计算器。他将他的思路列了出来:输入一个十进制整数将其转换成m进制数输出。但是小明的技术有限于是他想请你来帮他实现输入描述输入包括一行包含两个整数第一个为十进制数第二个为m输出描述输出一行表示转换后的m进制数样例1输入10 2输出1010提示该数为int范围内的非负整数m仅包含

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

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