Online Compiler C

#include <stdio.h> int main() { int n,m; scanf("%d",&n); int a[1000]; int temp=n; int length=0; if(n==0){ printf("0"); } do{ m=temp%3; a[length]=m; length++; temp=temp/3; } while(temp!=0); for(int i=length-1;i>=0;i-- ){ printf("%d",a[i]); } return 0; }
1) 这段代码将用户输入的十进制整数转换为三进制数并输出。如果输入是0,则直接输出0。

2) 提示:注意当输入为负数时,代码的循环条件和输出结果可能不符合预期。另外,数组a的大小固定为1000,如果输入的数转换为三进制后位数超过1000,会导致数组越界。