C++ 在最后一个循环中排除部分循环运算符

C++ exclude part of loop operator on last loop

我正在尝试弄清楚如何包含一个带有 for 循环的 cout,该 for 循环在最后一次迭代中保留了 cout 的一部分。我想在每个数字 (nFact) 之后都有一个乘号 (*),除了循环中的最后一个数字。

当前输出:5*4*3*2*1* 理想输出:5*4*3*2*1

'''

for (unsigned int i = 0; i < n; i++)
{
nFact = nFact*(n-i);
cout << (n - i)<<"*";
}

'''

for (unsigned int i = 0; i < n; i++)
{
nFact = nFact*(n-i);
if(i!=n-1)
cout << (n - i)<<"*";
else  cout << (n - i);
}

你可能会:

const char* sep = "";
for (unsigned int i = 0; i < n; i++)
{
    nFact *= n - i;
    std::cout << sep << n - i;
    sep = "*";
}

Demo