首先编写一个函数 void printInt(int n, int base), 功能是输出 n 的 base 进制表示。 然后在以下主程序中调用。 int main(){ int x; cout << “请输入一个要转换的整数:”<< cout << “请输入一个要转换的整数:”<< endl; cin >>x; printInt(x, 2) ; printInt(x, 8) ; printInt(x, 16) ; return 0; }
时间: 2024-02-25 14:57:30 浏览: 118
c#继承中的函数调用实例
好的,下面是实现 printInt 函数的代码:
```
#include <iostream>
using namespace std;
void printInt(int n, int base) {
if (n < 0) {
cout << "-";
n = -n;
}
if (n == 0) {
cout << "0";
return;
}
char digits[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
char result[32];
int i = 0;
while (n > 0) {
result[i++] = digits[n % base];
n /= base;
}
for (int j = i - 1; j >= 0; j--) {
cout << result[j];
}
cout << endl;
}
int main() {
int x;
cout << "请输入一个要转换的整数:" << endl;
cin >> x;
printInt(x, 2);
printInt(x, 8);
printInt(x, 16);
return 0;
}
```
这个函数的实现思路比较简单,就是不断地取余和除以 base,得到每一位的数字,并且将其存储在一个 char 数组中。最后再倒序输出这个数组即可。需要注意的是,当 n 小于 0 时需要先输出一个负号,并将 n 变成正数。同时,当 n 等于 0 时需要特判输出 0。
阅读全文