给出 T 个长度为 n 的序列,找出每一个序列的最大值并输出。
输入
输入共T+1行。
第一行为两个整数 T 和 n 。
之后 2 到 T+1 行,每行 1 个序列 n 个数字。
输出
输出每个序列的最大值,用空格隔开。
数据范围与提示
1<=T<=100, 1<=n<=10000
样例输入 复制
3 4
1 4 2 8
3 1 4 1
2 9 7 4
样例输出 复制
8 4 9
#include <iostream>
#include <list>
using namespace std;
int main()
{int T,n,a,max;
list<int> val; //定义各一个列表,将每次for循环的结果添加的列表里。
list<int>::iterator pl;//定义遍历列表的迭代器。以最后输出列表。
cin>>T>>n;
for(int i=1;i<=T;i++){
cin>>a;
max=a;
for(int j=1;j<=n-1;j++){
cin>>a;
if(a>max) max=a;
}
val.push_back(max);//将max的值添加到列表的最后。
}
for(pl=val.begin();pl!=val.end();pl++)// 遍历列表,输出列表的元素。
cout<<*pl<<" ";
return 0;
}
作为一个初学者,我能想到的办法就是每次循环后吗max值添加到列表后面,循环结束后遍历列表输出。
学习C++中,刚刚学习循环,有没有不用列表的办法实现这个功能的方法。