关闭

[华为机试真题]67.奇偶数入座

标签: 华为机试真题
1462人阅读 评论(0) 收藏 举报
分类:

题目

这里写图片描述

代码

/*---------------------------------------
*   日期:2015-07-07
*   作者:SJF0115
*   题目:奇偶数入座
*   来源:华为机试真题
-----------------------------------------*/
#include <iostream>
#include <string>
#include <vector>
#include <stack>
#include <algorithm>
using namespace std;

vector<int> OddEvenSort(vector<int> num){
    int i,j,k;
    int size = num.size();
    vector<int> result;
    if(size == 0){
        return result;
    }//if
    vector<int> odd;
    vector<int> even;
    // 奇偶分离
    for(i = 0;i < size;++i){
        // 奇数
        if(num[i] % 2){
            odd.push_back(num[i]);
        }//if
        // 偶数
        else{
            even.push_back(num[i]);
        }//else
    }//for
    // 排序
    sort(odd.begin(),odd.end());
    sort(even.begin(),even.end());
    // 整合
    int oddSize = odd.size();
    int evenSize = even.size();
    int number = 0;
    for(i = 0,j = 0,k = 1;i < oddSize || j < evenSize;++k){
        // 奇数
        if(k % 2){
            number = i < oddSize ? odd[i] : 0;
            ++i;
        }//if
        // 偶数
        else{
            number = j < evenSize ? even[j] : 0;
            ++j;
        }//else
        result.push_back(number);
    }//while
    return result;
}

int main(){
    int n = 10;
    freopen("C:\\Users\\Administrator\\Desktop\\acm.txt","r",stdin);
    vector<int> vec;
    int num,i;
    // 输入
    for(i = 0;i < n;++i){
        cin>>num;
        vec.push_back(num);
    }//for
    // 排序
    vector<int> result = OddEvenSort(vec);
    // 输出
    int size = result.size();
    for(i = 0;i < size;++i){
        if(i == size-1){
            cout<<result[i]<<endl;
        }//if
        else{
            cout<<result[i]<<" ";
        }//else
    }//for
    return 0;
}
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

华为机试--牛客刷题

  • chengyu779394084
  • chengyu779394084
  • 2016-08-25 11:47
  • 662

2006年清华大学计算机研究生机试真题

题目1076:N的阶乘 题目描述:  输入一个正整数N,输出N的阶乘。 输入: 正整数N(0 输出:  输入可能包括多组数据,对于每一组输入数据,输出N的阶乘 样例输入: 4 ...
  • acm_JL
  • acm_JL
  • 2016-04-02 22:44
  • 446

华为Java机试题

1.程序实现目标: 输入一个字符串,将其各个字符对应的ASCII值加5后,输出结果。     程序要求:该字符串只包含小写字母,若其值加5后的字符值大于'z',将其转换成从a开始的字符。 packag...
  • xcbeyond
  • xcbeyond
  • 2015-05-10 22:55
  • 21252

2016华为校招机试题(软件开发)

今天华为的机试题明显变难了,而且和往年的不一样了,准备了前些年的题目,但是今年的做起来很不习惯。机试时可以上网,但是搜不到原题。 这个是考试规则 初级题目:
  • qqyuanhao163
  • qqyuanhao163
  • 2015-09-21 10:47
  • 3147

华为2016实习机试题

在牛客网上做的。 老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.  输入描述: 输入包括多组测试数据。 每组输入第一行是两个正整数...
  • hyp1977
  • hyp1977
  • 2016-07-17 21:46
  • 487

[华为机试练习题]37.合唱队

N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,T...
  • SunnyYoona
  • SunnyYoona
  • 2015-07-02 15:57
  • 2723

华为机试-麻将胡牌

华为机试-麻将胡牌
  • xiong452980729
  • xiong452980729
  • 2017-03-14 12:23
  • 764

华为 2016实习生 上机考试 题目

第一题:字符串去掉重复的字符 第二题:简单的均值滤波算法 第三题:大数求余
  • u010161379
  • u010161379
  • 2016-04-02 15:25
  • 2868

华为上机考试注意事项及编程技巧(精品)

这是一篇关于华为招聘软件类职位上机考试的博客,主要介绍一下华为机考的流程、注意事项以及一些机试题中常用的编程技巧,写得有点长,但都是尽心尽力敲的,如果真的要参加华为招聘(或者类似公司的招聘),建议稍微...
  • HIT_Coding_Cat
  • HIT_Coding_Cat
  • 2016-10-17 22:49
  • 3873

[android] 真机测试(华为)

在华为手机上开启USB调试: 进入设置->关于手机->找按版本号(1~3秒) 进入 USB调试模式  返回设置  开发者->开启USB调试 1、首先将手机设置为调试模式 方法:设置——应用...
  • u010081689
  • u010081689
  • 2015-04-14 14:30
  • 909
    个人资料
    • 访问:1456281次
    • 积分:22014
    • 等级:
    • 排名:第385名
    • 原创:624篇
    • 转载:133篇
    • 译文:60篇
    • 评论:187条
    博客专栏
    文章分类
    最新评论