c++实现判断在命令行中输入几个数字然后对输入的数字进行冒泡法排序

题记:最近家教,教一个大一孩子c++,教他冒泡法排序的时候,发现,冒泡法排序输入的数字必须是固定的比方式10或者15,我想,能不能通过某个方法实现判断命令行中输入的数字是几个,这样再用冒泡法排序的时候就不用担心输入的是几个数字,用到的知识主要是冒泡法排序和istringstream。

冒泡法排序不赘述,关于istringstream,请看链接:

http://www.cnblogs.com/gamesky/archive/2013/01/09/2852356.html

//http://www.cppblog.com/shyli/archive/2006/10/17/13758.html

代码如下:

#include <iostream>
#include <stdio.h>
#include <string>
#include <sstream>
//http://www.cnblogs.com/gamesky/archive/2013/01/09/2852356.html
//http://www.cppblog.com/shyli/archive/2006/10/17/13758.html
using namespace std;
int main()
{
    string input;
    int number_count = 0;
    int a[10];
    int i = 0;
    //cout << "input  numbers:" << endl;
    getline(cin,input);//接受一个字符串,可以接受空格输出,输出什么还是输出什么,nput就是要输出的内容
    istringstream input_stream(input);//istringstream对象可以绑定一行字符串,然后以空格为分隔符把该行分隔开来
    while(!input_stream.eof()){//判断是否为空
        int n;
        input_stream >> n;//n是代表整形变量,
        //cout << n << endl;
        a[i] = n;
        //cout <<a[i] << endl;
        i++;
        ++number_count;
    }
    cout << "input count:" << number_count << endl;
    int j,t,h;
    for(j=0;j<number_count-1;j++){
        for(i=0;i<number_count-1-j;i++){
            if(a[i] > a[i+1]){
                t=a[i];
                a[i]=a[i+1];
                a[i+1]=t;
            }
        }
    }
    for(i=0;i<number_count;i++){
        cout << a[i];
    }
    cout << endl;
    return 0;

}

应该还会有其他方式,去判断????

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Frank范

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值