二进制转三进制 C语言版

输入一个2进制的数,要求输出该2进制数的3进制表示。在3进制的表示中,只有0,1,2三种符号。

# include <stdio.h>
# include <string.h>
int main (void)
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		char s[65];
		int n,x=0,t=0;
		scanf("%s",s);
		n=strlen(s);
		for(int i=0;i<n;i++)
		{
			x=x*2+s[i]-'0';//将二进制转换成十进制
		}
		while(x)
		{
			s[t++]=x%3,x=x/3;//运用进制转换思想,将十进制转换成三进制,就是倒的
		}
		for(int i=t-1;i>=0;i--)// 倒序输出
		{ 
		printf("%d",s[i]);
	    }
	    printf("\n");
	}
	return 0;
 } 
发布了2 篇原创文章 · 获赞 0 · 访问量 18
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览