将一个十进制整数转换为k进制字符串c语言
时间: 2023-08-08 19:07:23 浏览: 57
以下是将一个十进制整数转换为k进制字符串的C语言代码:
```c
#include <stdio.h>
#include <string.h>
void decimal_to_k_base(int decimal_number, int k, char *k_base_string) {
// 定义k进制字符数组
char k_digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int remainder, quotient, i = 0;
do {
// 计算商和余数
quotient = decimal_number / k;
remainder = decimal_number % k;
// 将余数转换为k进制字符并添加到结果字符串中
k_base_string[i++] = k_digits[remainder];
// 将商赋值给decimal_number
decimal_number = quotient;
} while (decimal_number != 0);
// 添加字符串结束符
k_base_string[i] = '\0';
// 翻转字符串
strrev(k_base_string);
}
int main() {
int decimal_number = 123;
int k = 16;
char k_base_string[100];
// 将十进制整数转换为k进制字符串
decimal_to_k_base(decimal_number, k, k_base_string);
// 输出结果
printf("%d in base %d is %s in base %d", decimal_number, k, k_base_string, k);
return 0;
}
```
输出结果为:
```
123 in base 16 is 7B in base 16
```