C语言中如何将正整数转化为二进制

从键盘输入任意一个正整数(≤255),将其转换为相应的8位二进制数

#include <stdio.h>
int main(void) { 
    int N;
    scanf("%d",&N);
    int N0 = N;
    int N8 = 0;
    
    int i = 1;
    while(1)
    {
        N8 = N8 + N % 2 * i;
        N /= 2;
        i *= 10;
        if (N == 0) break;
    }
    
    printf("十进制数%d转成二进制为:%08d\n", N0, N8);
    return 0;
}