一个c++难题

来源:百度知道 编辑:UC知道 时间:2024/06/17 18:53:59
用c++编一个程序:随机输入n个正整数(n以及整数范围是0-10000,整数可以重复,)后,将它排序后输出。

最近在研究容器,就用容器给你解决吧:

假设你输入了值放在一个数组或向量中,假设是向量吧
vector<int> ivec;
ivec.push_back(1);//用来接收n个正整数,这个循环自己写吧
然后呢,
sort(ivec);
然后就是输出了

实现如下:
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main() {
int a[]= {5,6,7,8,9,1,2,3,4};//假设这里是你输入的n个数

vector<int> ivec(a,a+9);
sort(ivec.begin(),ivec.end());

for(vector<int>::iterator ite = ivec.begin();ite != ivec.end();ite++) {
cout<<*ite;
}

return 0;
}

可以在VC++6.0中直接运行

利用vector,可以输入任意个,不用事先定n的大小
该程序在vc6.0下可以运行

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void main(void)
{
vector<int> num; // STL中的vector容器
int element;

// 从标准输入设备读入整数,
// 直到输入的是非整型数据为止
while (cin >> element