c语言使用循环语句实现把10进制数转换成任意进制数?
时间: 2024-05-01 22:19:30 浏览: 92
要将一个10进制数转换为任意进制数,可以使用循环语句和取余数操作。以下是一个使用C语言实现的示例代码:
```c
#include <stdio.h>
int main() {
int decimal, base, remainder, quotient;
int i, j;
char result[100];
printf("Enter the decimal number: ");
scanf("%d", &decimal);
printf("Enter the base: ");
scanf("%d", &base);
quotient = decimal;
for (i = 0; quotient != 0; i++) {
remainder = quotient % base;
quotient = quotient / base;
if (remainder < 10) {
result[i] = remainder + '0';
} else {
result[i] = remainder - 10 + 'A';
}
}
printf("The result is: ");
for (j = i - 1; j >= 0; j--) {
putchar(result[j]);
}
printf("\n");
return 0;
}
```
在该代码中,我们首先从用户输入得到要转换的10进制数和目标进制,然后使用循环语句和取余数操作计算得到每一位的数字或字母,将其存储在字符数组 `result` 中。最后,我们倒序输出 `result` 数组中的元素,即可得到所需的任意进制数。
阅读全文