欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【c语言笔记】C语言之十进制转为二进制

程序员文章站 2022-07-15 09:41:08
...

这次错误主要就是忘记了数组做参数

废话也不多说了,代码奉上

//十进制转为二进制 
#include"stdio.h"
#define M 20
int transform(int ,int []);
void exchange(int [],int );
int main()
{
	int dec,bin[M],i;
	printf("please input a DEC num:");
	scanf("%d",&dec);
	printf("\n");
	i=transform(dec,bin);
	exchange(bin,i);
	return 0;
}
int transform(int n,int m[])
{
	int i=0;
	while(n!=0)
	{
		m[i++]=n%2;
		n=n/2;
	}

	return i;
}
void exchange(int m[],int n)
{
	int i,temp;
	for(i=0;i<n/2;i++)
	{
		temp=m[i];
		m[i]=m[n-i-1];
		m[n-i-1]=temp;
	}
	for(i=0;i<n;i++)
	{
		printf("%d",m[i]);
	}
	
}