求第二个怎么写用fun语句编写程序,

 

#include "stdio.h"

void fun (int n)
{
    int i,k;
    int x[10];
    for(i=0; n!=0; i++) // 判断条件 n!=0
    {
        x[i]=n%2;
        n=n/2;
    }
    for(k=i-1; k!=(-1); k--) // 判断条件 k!=-1
        printf("%d",x[k]);// 输出x[k],不是x[i]
}
main()
{
    int i,n,k;
    scanf("%d",&n);
    fun(n);
}

#include<stdio.h>
int fun(int a,char *p)
{
    int k=0;
    while(a!=0)
    {
       b=a/2;
       k++;
       p[k]=a-b*2;
       a=a/2;
     };
    return 0;
}

int main()
{
    int a,b,k,i;
    int remainder[30];
    while(1)
    {
        //定义了一个remainder数组,用来收集短除法除得的余数,栈倒序输出。
        printf("请输入一个十进制数:  ");
        scanf("%d",&a);
        fun(remainder);
        printf("转换成二进制数是:  ");
        for (i=k; i>=1; i--)
        {
            printf("%d",remainder[i]);
        }
        printf("\n\n");
    }
    return 0;