每天小练笔4-整数排序操作

原创 2015年07月07日 14:23:33

题目
描述:
实现输入一组大于等于0的整数,根据从小到大的顺序排序后输出,排序后有连续数时,只输出连续数中最小和最大的两个数。
题目类别: 排序
难度: 高级
运行时间限制: 10Sec
内存限制: 128MByte
阶段: 入职前练习
输入:
一组大于等于0的整数,不考虑非法输入,各个整数之间以逗号(“,”)分隔, 输入字符串的总长度小于等于100个字节。
输出:
排序后的值,各个整数之间以空格分隔。
样例输入:
1,4,3,110,2,90,7
样例输出:
1 4 7 90 110

这里数据输入时,不是很顺畅,
排序后,不输出的数的特性就是,比前一个数大一,比后一个数小一

#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <algorithm>
using namespace std;

vector <int> input;
vector <int> buff;


int main()
{
    int tmp;
    int i,j;
    freopen("test.txt","r",stdin);

    while(1)
    {
        cin>>tmp;
        input.push_back(tmp);
        if(cin.get()!=',')
            break;
    }
    sort(input.begin(),input.end());

    for(i=0;i<input.size();++i)
    {
        if(i==0 || i ==(input.size()-1))
            buff.push_back(input[i]);
        else
        {
            if((input[i]+1==input[i+1])&&(input[i]-1==input[i-1]))
                ;
            else
                buff.push_back(input[i]);
        }

    }

    for(i=0;i<buff.size();++i)
    {
        cout<<buff[i]<<" ";
    }
    cout<<endl;
    return 0;
}

看看这个问题 人家如何处理
http://blog.csdn.net/sunnyyoona/article/details/46678219
以字符string输入,
if(str[i] >= ‘0’ && str[i] <= ‘9’){
num = num * 10 + str[i] - ‘0’;
太麻烦

版权声明:本文为博主原创文章,未经博主允许不得转载。

每天小练笔10-小和尚挑水(回溯法)

题目 某寺庙里7个和尚:轮流挑水,为了和其他任务不能冲突,各人将有空天数列出如下表: 和尚1: 星期二,四; 和尚2: 星期一,六; 和尚3: 星期三,日; 和尚4: 星期五; 和尚5: ...
  • u010442328
  • u010442328
  • 2015年07月20日 17:07
  • 732

每天小练笔7-坐标变换

题目 开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。 输入: ...
  • u010442328
  • u010442328
  • 2015年07月08日 11:12
  • 250

每天小练笔6-空瓶换饮料

题目 描述: 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以...
  • u010442328
  • u010442328
  • 2015年07月07日 17:22
  • 661

用指针方法对10个整数按由大到小的顺序排序

#include int main() { void sort(int x[],int n); //sort函数声明 int i,*p; int a[10]; p=a; /...
  • ZDF0414
  • ZDF0414
  • 2015年03月19日 11:16
  • 808

每天小练笔5-删除重复字符

题目 描述: 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 题目类别: 字符串 难度: 中级 运行...
  • u010442328
  • u010442328
  • 2015年07月07日 16:32
  • 281

每天小练笔8-模拟进程调度

题目 操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中, 系统任务的优先级 < 50,用户任务的优先级 >= 50且 ...
  • u010442328
  • u010442328
  • 2015年07月14日 20:25
  • 412

每天小练笔2-大数求和

这个系列的题目都是来源于网络,然后自己写代码,可能不是最佳方法,网上有好的算法我也会给出链接。 描述: 给定两个非常大的正整数A和B,位数在50至100之间。求C=A+B; 题目类别: 字符串 ...
  • u010442328
  • u010442328
  • 2015年07月03日 20:36
  • 263

每天小练笔3-简单密码

题目 描述: 密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。 假设渊子原来一个BBS上的密码为zvbo9...
  • u010442328
  • u010442328
  • 2015年07月07日 13:34
  • 442

每天小练笔1-周期串问题

这个系列的题目都是来源于网络,然后自己写代码,可能不是最佳方法,网上有好的算法我也会给出链接。 题目一[周期串问题] 如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期。例...
  • u010442328
  • u010442328
  • 2015年07月03日 20:12
  • 303

用指针方法对10个整数按由小到大的顺序排序

#include int main() { void sort(int x[],int n); int i,a[10]; int *p=a; ...
  • u014795767
  • u014795767
  • 2014年09月21日 20:49
  • 4277
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:每天小练笔4-整数排序操作
举报原因:
原因补充:

(最多只允许输入30个字)