2016-11-11 85 views
0

任何人都可以指出這段代碼有什麼問題嗎?我試圖寫一個簡單的(不使用數組和類似的東西)程序,將基地10號碼轉換爲任何其他基地。我是一個初學者,我剛剛開始編碼。我可以看到我沒有寫任何會反轉結果的東西,而且我沒有收到編譯器的任何輸出。它停止工作。c編程語言中的基址轉換

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 (八進制)到你的程序中,它回答'250',儘管十進制的'42'是八進制的'52'。 –

回答

1

將您的while循環更改爲!= 0。要循環,直到您將輸入數減少到零。您的代碼在第一個數字爲0時終止。

+0

下一個挑戰將是正確寫入轉換後的值。所有數字都保留。 –

+0

關於如何反轉結果的任何想法? –