2016-11-11 21 views
0

このコードは何が間違っているのでしょうか?私は基本10の数字を他の基数に変換するシンプルな(配列やそのようなものを使わずに)プログラムを書こうとしています。私は初心者です。Cでコーディングを開始しました。cプログラミング言語のベース変換

PS:わかりましたが、私は結果を逆にするものは書かず、コンパイラからの出力も受け取らなかった。それは動作を停止しました。

main() 
{ 
    int a,b,c; 
    printf("Please enter a number in base 10: "); 
    scanf("%d",&a); 
    printf("\nPlease enter the base that you want the number to be converted to: "); 
    scanf("%d",&b); 
    do 
    { 
     c=a%b; 
     printf("%d",c); 
     a/=b; 
    }while(c!=0); 
} 
+0

あなたは何を入力しますか?出力として何を得ましたか?数字を逆順に印刷しないように変更するにはどうすればいいですか?インプットが働いたことをいつチェックする予定ですか?改行や空白を出力して数字を区切りますか? –

+0

まあ、私は出力を受け取っていない、コンパイラが動作を停止し、ええ、私は結果を逆にする何も書いていないので、それは私がすることができるすべてです... @ Jonathan Leffler –

+0

私は '42'と' 8 '(8進数の場合)をプログラムに追加し、小数点の' 42 'は8進数の '52'であるにもかかわらず' 250 'と答えました。 –

答えて

1

whileループを!= 0に変更します。入力番号を0に減らすまでループします。あなたのコードは、最初の数字が0のときに終了します。

+0

次の課題は、変換された値を正しく書き込むことです。すべての数字は予約されています。 –

+0

どのように私は結果を逆にすることができますか? –

関連する問題