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