c++中题目

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:44:45
已知10个整数,删除其中所有的大于(包括1)的数据,输出剩余的数据以及剩余剩余数据的个数。提示:当前的数据1,-1,-6,8,9,6,6,-5,6,9则输出的结果为-1,-6,-5,剩余数据的个数为3个。

#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
#define fin 1;
bool smaller(int &s1)
{
return s1>=fin;
};
int main()
{
int data;
vector<int> vecFir;
cout<<"input data"<<endl;
while(cin>>data)
vecFir.push_back(data);
sort(vecFir.begin(),vecFir.end());
vector<int>::iterator iter;
iter=find_if(vecFir.begin(),vecFir.end(),smaller);
vecFir.erase(iter,vecFir.end());
cout<<"there is "<<vecFir.end()-vecFir.begin()<<" number which smaller than "<<fin;
cout<<endl;
cout<<"they are: "<<endl;
iter=vecFir.begin();
while(iter!=vecFir.end())
cout<<*iter++<<endl;
return 0;
}