这个问题在这里已有答案:
程序显示数字列表。例如:
1, 3, 5, 3, 4, 3,
我需要像这样:
1, 3, 5, 3, 4, 3
我尝试了if/else
声明,但它没有好处。
s.push_back(0);
cout << "s: ";
cout << 0 << ", ";
s.push_back(v[0]);
cout << s.back() << ", ";
for(int i=2; i<=10; i++) {
s.push_back(alpha * v[i-1] + (1 - alpha) * s.back());
if (i == s.back() - 1)
cout << s.back() << endl;
else
cout << s.back() << ", " << "";
我得到了正确的输出。只是在摆脱最后一个逗号时遇到麻烦。
如果将逗号放在除第一个元素之外的每个元素之前,您将实现此目的
if(first){
out << n;
first = false;
}else{
out << "," << n;
}
通过更新分隔符变量来避免使用qazxsw poi
if
有三种方式:
#include <iostream>
#include <vector>
#include <functional>
int main() {
std::vector<int> example = {1,2,3,4,5};
std::string delim = "";
for(const auto& e:example){
std::cout << delim << e;
delim = ", ";
}
return 0;
}
bool first = true;
for ...
if (!first)
cout << ", ";
cout << s.back();
first = false;
const char * prefix = "";
for ...
cout << prefix << s.back();
prefix = ", ";
当在每个元素的末尾打印逗号时,索引检查也可以在最后一个元素上起作用。