#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<vector<int>> vec;
int k,m=5;
for(int i=0;i<m;i++)
{//有m行
vector<int> vv;//注意定义的位置,不能在for循环外
while(cin>>k)
{
vv.push_back(k);
if(cin.get()=='\n')
break;
}
vec.push_back(vv);
}
int n = vec[0].size();//列
//测试用
/*for(int ii=0;ii<m;ii++)
{
for(int jj=0;jj<n;jj++)
cout<<vec[ii][jj]<<" ";
cout<<endl;
}*/
int i,j;//遍历时的行和列
for(int num = 0;num<m+n-1;num++)//num是遍历的次数
{
for(i=0;i<m;i++)
{
j=num-i;
if(j>=0 && j<n)
cout<<vec[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
测试: