注册 登录
编程论坛 C++教室

C++如何实现数字从小到大排列?

明次 发布于 2009-09-11 14:04, 1397 次点击
程序是这样的,要求你输入一些数,回车后就由小到大排列的输出这些数。
6 回复
#2
kqscy12009-09-11 14:45
选择法和冒泡法
#3
明次2009-09-11 15:25
以下是引用kqscy1在2009-9-11 14:45的发言:

选择法和冒泡法
能否具体一点
#4
明次2009-09-11 15:31
百度过了,多谢。
#5
pqsusu12009-09-11 15:47
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<double> vec_dou;
 
    cout << "请输入几个数:";
double tmp;
 
while(cin>>tmp)
    vec_dou.push_back(tmp);
 
sort(vec_dou.begin(), vec_dou.end());
 
for(int i=0; i!=vec_dou.size(); ++i)
    {
    cout<<vec_dou[i]<<" ";
    }
     
 
 
 
}
#6
newCpp2009-09-12 11:40
我前几天看见一给数组排序的大概意思就是用第一个数通第二个数比较,如果第一个数大于第二个数则不交换
因为数组里面存放的规则都是按号码赋值的,所以他们赋值的方法只需要将第一个通第二个比较,
第一大于第二则,则将第一给第二,第二给第一,然后用第二大的同第三比较,以此类推,
意思我自己认为是这样的,如果有啥错误,欢迎高手指正!!
#7
newCpp2009-09-12 11:50
#include<iostream>
using namespace std;
int main()
{
    int z;
    int i[10];
    for(int f=0;f<=9;f++)
    {
        cin>>i[f];
    }
    for(int j=0;j<=9;j++)
    {
        for(int h=0;h<=9;h++)
        {
            if(i[j]>i[h])
            {
           z=i[j];
           i[j]=i[h];
           i[h]=z;
            }
        }
    }
        for(int k=0;k<=9;k++)
        {
            cout<<i[k]<<" ";
          cout<<endl;
        }
}
这样试一下吧!
我用过了。能够比较大小的!!
1