0
我試圖使用遞歸函數來減半用戶輸入,直到它達到< 1.0 ..無論我嘗試它總是結果大於1.任何指導將不勝感激。無法得到結果小於1使用分部C++
void counter(float count)
{
if (count >= 1)
{
cout << count << endl;
counter(count/2);
}
}
我試圖使用遞歸函數來減半用戶輸入,直到它達到< 1.0 ..無論我嘗試它總是結果大於1.任何指導將不勝感激。無法得到結果小於1使用分部C++
void counter(float count)
{
if (count >= 1)
{
cout << count << endl;
counter(count/2);
}
}
如果你想打印count
當它變成低於1
,你需要添加一行爲。
void counter(float count)
{
if (count >= 1)
{
cout << count << endl;
counter(count/2);
}
else
{
cout << count << endl;
}
}
可以簡化使用:
void counter(float count)
{
cout << count << endl;
if (count >= 1)
{
counter(count/2);
}
}
你幾乎沒有...
添加一個else檢查什麼事情發生,如果該值小於1.0
void counter(float count)
{
if (count >= 1)
{
cout << count << endl;
counter(count/2);
} else
{
cout << count << endl;
}
}
是的,如果它小於1.0,你永遠不會打印它。也許你想在'if'前加'cout'語句。 –
有沒有辦法實現我所嘗試的? –
在if語句後添加一個cout。這將是最後一個函數調用。修正它的 – NathanOliver