C语言将一个十进制数转化成对应二进制数

本人大一软件工程新生,刚开始接触C语言编程,希望各位码界前辈多多指教,多提一些对我的程序的意见,以便我在编程的道路上有所进步。

#include
#include
int main()
{
     
            int a,b,temp,i=0;
            int  hsing[21]={
     0};
            hsing[20]=3;
            printf("请输入一个十进制数:\n");
            scanf("%d",&a);
            while(a!=0)
            {
     
                b=a%2;
                a=a/2;
                hsing[i]=b;
                i++;
            }
           int*p,*q;
           p=q=hsing;
           while(*p!=3)
            {
     
                p++;
            }
            p=p-1;
            while(p>q)
            {
     
                temp=*p;
                *p=*q;
                *q=temp;
                p--;
                q++;
            }
            printf("该十进制数对应的二进制数:\n");
            for(i=0;i<20;i++)
            {
     
                printf("%d",hsing[i]);
            }
            printf("\n");
            printf("输入任意数字结束:\n");
            scanf("%d",&temp);
            return 0;
}

你可能感兴趣的:(c语言,程序设计)