十进制转三进制C语言
时间: 2024-10-16 13:01:45 浏览: 42
在C语言中,将十进制数转换成三进制数可以使用位操作符或者递归函数实现。这里简单介绍一种常见的迭代方法:
```c
#include <stdio.h>
#include <string.h>
// Function to convert decimal to ternary
void decToTernary(int num) {
static char result[40]; // Buffer to store the ternary number
int i = 0;
while (num > 0) {
result[i++] = '0' + (num % 3); // Get the remainder and add it to the string
num /= 3; // Divide by 3 for next iteration
}
// If the number was non-zero, leading zeros will be added
if (i > 0) {
result[i] = '\0';
} else {
result[0] = '0'; // Ensure a single digit result is not empty
}
printf("The ternary representation of decimal %d is %s\n", num, result);
}
int main() {
int decimal;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
decToTernary(decimal);
return 0;
}
```
这个程序首先读取用户输入的十进制数,然后通过循环不断地除以3并保留余数,直到商变为0。最后,从结果数组的末尾开始输出,因为字符串逆序存储了结果。
阅读全文