将十进制正整数转化为二进制输出,在主函数中进行输出,要求不得按逆序输出。
将十进制正整数转化为二进制输出,在主函数中进行输出,要求不得按逆序输出。题目不怎么看的懂啊,我编了一个程序输出不了结果,求教!到底是哪里出了问题
#include "stdio.h"
#define N 100
int fun(int a[],int n)
{ int m,i,j;
for(;n!=0;n=m)
{ m=n/2;
a[i]=n%2;
i++;
}
return i;
}
void arrout(int a[],int i)
{ int j;
for(j=1;j<i;j++)
printf("%d",a[i-j]);
printf("\n");
}
int main(int argc, char* argv[])
{ int a[N]={0};
int x,y;
printf("Input x: ");
scanf("%d",&x);
y=fun(a,x);
arrout(a,y);
}