我想把一个数组作为一个行向量,但是当我写:
int main() {
int B[3]={0};
for (int w = 0; w <2; w++) {
cout <<"B="<<" "<< B[w] << " ";
}
cout << endl;
return 0;
}
输出为B=0 B=0
但我希望输出如下:
B=(0 0)
答案 0 :(得分:2)
对于固定大小的数组,我甚至可能更喜欢像这样的oneliner,因为我可以乍看之下阅读它:
cout << "B=(" << B[0] << " " << B[1] << " " << B[2] << ")\n";
对于具有动态或非常多元素B
的容器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";
这样做的好处是,无论使用多少元素,您都不会得到尾随逗号或不需要的空格。 我建议制作一个通用(模板)函数来打印array / std :: vector内容 - 它对于调试来说非常有用!
答案 1 :(得分:1)
int main() {
int B[3] = { 0 };
cout << "B=(";
for (int w = 0; w < 3; w++) {
cout << B[w];
if (w < 2) cout << " ";
}
cout << ")" << endl;
return 0;
}
现在应该输出:
B=(0 0 0)
答案 2 :(得分:0)
最简单的方法是: -
#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;
}
输出将为B =(0 0 0)
答案 3 :(得分:0)
如果您愿意,可以试试这个:
#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;
}
输出结果为:
B=(0 0)
行if(w != 1)
检查您是否已到达数组的最后一个元素。在这种情况下,最后一个索引是1,但通常if语句应该是:if(w != n-1)
其中n
是数组的大小。