我的程序任務是編寫一個計算美元到歐元的循環程序。我的代碼看起來像這樣我的C while while循環不會執行
#include <stdio.h>
int main(void)
{
double USD, euro;
char again;
do
{
printf("Please enter the amount of USD you want to convert to Euros> ");
scanf_s("%lf", &USD);
euro=USD * 0.73209;
printf("%4.2f USD equals %4.2f Euros.", USD, euro);
printf("Do you want to convert another amount (y/n)?");
scanf_s("%c", &again);
}
while (again == 'y' || again == 'Y');
return 0;
}
當我運行程序,它執行,讓我進入一個美元價值,給了我正確的歐元價值,那麼當提示輸入Y/N它只是退出。
你可能想嘗試打印again'的'值。在這種情況下,如果它是空格(或者說,來自之前輸入的換行符),它將有助於用字符包圍它。 'printf(「again:[%c] \ n」,again);' – indiv
我會在哪裏添加它?而不是說「另一個量(y/n)?」 另外,在Do語句或While語句中? – user3303994
好吧,讓我們從邏輯上思考這個問題。你想打印'again'的值來查看'while'語句中正在測試的字符,對嗎?你想這樣做是因爲你的'while'陳述並沒有做你認爲應該做的事情。所以在我看來,你要遵循的步驟是:1.將值讀入'again'中。 2. *然後*在'while'語句中測試之前將其打印出來。你建議的方式是打印'again'的值,然後從用戶那裏讀取它。我不認爲這會起作用。 – indiv