C++ 如何将数组打印为向量形式

C++ 如何将数组打印为向量形式,c++,C++,我想将数组转换为行向量,但在写入时: int main() { int B[3]={0}; for (int w = 0; w <2; w++) { cout <<"B="<<" "<< B[w] << " "; } cout << endl; return 0; } intmain(){ int B[3]={0}; 对于(int w=0;wint main(){ int

我想将数组转换为行向量,但在写入时:

int main() {
    int B[3]={0};
    for (int w = 0; w <2; w++) {
        cout <<"B="<<" "<< B[w] << " ";
    }
    cout << endl;
    return 0;
}
intmain(){
int B[3]={0};
对于(int w=0;w
int main(){
int B[3]={0};

cout最简单的方法是:-

#include<iostream>
using namespace std;
int main()
{
int B[3]={0};
cout << "B=(";
for (int w = 0; w < 3; w++) 
  {
    cout << B[w] << " ";
  }
cout << ")" << endl;
return 0;
}
#包括
使用名称空间std;
int main()
{
int B[3]={0};

cout如果您愿意,可以试试这个:

#include <iostream>

using namespace std;

int main() {

    int B[3]={0};
    cout << "B=(";
    for (int w = 0; w <2; w++) {
        cout << B[w];
        if(w != 1) cout << " ";
    }
    cout << ")" << endl;
    cout << endl;
    return 0;
}

if(w!=1)
检查您是否已到达数组的最后一个元素。在这种情况下,最后一个索引是1,但通常if语句应该是:
if(w!=n-1)
其中
n
是数组的大小。

对于固定大小的数组,我甚至可能更喜欢这样的单行线,因为我一眼就能看到:

cout << "B=(" << B[0] << " " << B[1] << " " << B[2] << ")\n";
这样做的好处是,无论元素的数量是多少,都不会出现尾随逗号或不需要的空白。
我建议制作一个通用(模板)函数用于打印数组/std::vector内容-这对于调试非常有用!

在循环前打印页眉,在循环中打印数据,在循环后打印页脚。是否只打印三个值中的两个?不,这不是输出结果。固定空间问题这不是问题所在根据需要输出的最简单方法,而不是针对2或3的给定大小。而且它不会给出所述的所需输出。请分享您的观点。Ima冒险说他的观点是,答案至少应该给出ops所需输出。生成所需输出(对于2或3个值,OP在这方面似乎不是很确定)是一行,没有任何多余空格的问题。但是OP没有要求最简单的版本。可能是因为他想升级到更多的值。在我看来,这对于做出答案来说是太多的猜测了。@George True,一旦弄清楚OP实际想要什么输出。现在OP接受了答案,这似乎有点清楚、矛盾然而,我怀疑OP所说的期望输出。但我也怀疑“最简单的”,我接受Jonas Reich在回答中对第一个选项的描述。使用
\b
是不可移植的。警告:backspace在所有控制台上都不能像预期的那样工作。最好不要打印最后的空格。我只是尽可能地精确到所需的解决方案。回答很好,第一个我能告诉你的答案l、 所以,欢迎来到StackOverflow,我希望能看到更多的人。
B=(0 0)
cout << "B=(" << B[0] << " " << B[1] << " " << B[2] << ")\n";
cout << "B=(";
if(n > 0)
{
    cout << B[0];
    // note the iteration should start at 1, because we've already printed B[0]!
    for(int i=1; i < n; i++)
        cout << ", " << B[i]; //I've added a comma here, so you get output like B=(0, 1, 2)
}
cout << ")\n";