用c语言将十进制正整数m转换成k进制数(2≤k≤9)并输出(m,k从键盘输入)。例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)
时间: 2024-02-21 09:58:56 浏览: 117
计算机二级c语言模拟题
4星 · 用户满意度95%
好的,以下是用 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int m, k;
scanf("%d%d", &m, &k); // 从键盘读入 m 和 k
char result[100]; // 初始化结果字符串
int i = 0; // 初始化结果字符串的下标
while (m > 0) {
result[i++] = m % k + '0'; // 将余数转换为字符并添加到字符串末尾
m /= k; // 更新 m 的值
}
for (int j = i - 1; j >= 0; j--) {
printf("%c", result[j]); // 倒序输出结果字符串
}
printf("\n"); // 输出换行符
return 0;
}
```
你可以将上面的代码复制到一个 C 语言环境中编译运行,然后输入 m 和 k 的值,程序就会输出转换后的 k 进制数。例如,输入 8 和 2,程序将输出 1000。
上面的代码中,我们使用了字符数组来存储转换后的 k 进制数。在每次迭代中,我们将 m 对 k 取余得到一个数位,将其转换为字符并添加到结果字符串的末尾,然后将 m 除以 k 更新其值。最后,我们倒序输出结果字符串,得到最终的 k 进制数。
阅读全文