十进制转换为二进制
题目 输入一个正整数n,将其转换为二进制后输出。要求定义并调用函数dectobin(n),它的功能是输出n的二进制数。
例如,调用dectobin(10),输出1010。
输入
输入一个10进制整数。
输出
输出其二进制的形式。
样例输入 Copy
100
样例输出 Copy
1100100*/
为什么这样写不对?
#include<stdio.h>
int dectobin(int n);
int main(void)
{
int n;
scanf("%d",&n);
dectobin(n);
return 0;
}
int dectobin(int n)
{
int i,j,t,count=0;
int a[100];
while(n!=0)
{
for(i=0;a[i]!=’\0’;i++)
{
t=n%2;
n=n/2;
a[i]=t;
count++;
}
}
for(j=count-1;j>=0;j–)
printf("%d",a[j]);
return 0;
}