C语言 十进制转三进制
时间: 2024-08-13 22:06:41 浏览: 58
在C语言中,将十进制数转换为三进制数通常使用循环和位操作来实现。这里是一个简单的示例代码来帮助你理解:
```c
#include <stdio.h>
#include <string.h>
// Function to convert decimal to ternary
void decimalToTernary(int decimal) {
char ternary[100];
int i = 0;
while (decimal > 0) {
// Calculate the remainder when dividing by 3
int remainder = decimal % 3;
// Prepend the remainder to the ternary string
ternary[i] = remainder + '0'; // Convert to character using ASCII value
i++;
decimal /= 3; // Update the decimal number
}
// Add leading zeros if necessary
if (ternary[0] == '\0') {
ternary[i] = '0';
i++;
}
// Reverse the ternary string and print
ternary[i] = '\0'; // Terminate the string
printf("Decimal %d in ternary is %s\n", decimal, ternary);
}
int main() {
int decimal_num;
printf("Enter a decimal number: ");
scanf("%d", &decimal_num);
decimalToTernary(decimal_num);
return 0;
}
```
在这个程序中,`decimalToTernary`函数接收一个十进制数,然后用while循环计算其对3的余数,依次将这些余数拼接成一个字符串表示的三进制数。最后,main函数获取用户输入并调用这个转换函数。
如果你想直接使用这个代码,请复制到一个C文件中运行,或根据需要调整。
阅读全文