C プログラミング言語で、10 進数を 2 進数に変換するプログラムを作成する割り当てがあります。
これは私が書いたコードです:
#include <stdio.h>
#define MAX_LEN 1000
void translate_dec_bin(char s[]){
unsigned int decNum;
sscanf_s(s, "%d", &decNum);
while (decNum > 0){
printf("%d", decNum % 2);
decNum = decNum / 2;
}
printf("\n");
}
main(){
char s[MAX_LEN];
char c='\0';
int count=0;
printf("enter a nunber\n");
while (c < MAX_LEN && ((c = getchar()) != EOF) && c != '\n'){
s[count] = c;
++count;
}
translate_dec_bin(s);
}
ただし、入力が 1 の場合、得られる出力は 0001 ではなく 1 です。つまり、出力に 0 が表示されるようにします。どうやってやるの?