2015年北京大学软件工程学科优秀大学生夏令营上机考试---B:整数奇偶排序

描述

给定10个整数的序列,要求对其重新排序。排序要求:

1.奇数在前,偶数在后;

2.奇数按从大到小排序;

3.偶数按从小到大排序。

输入
输入一行,包含10个整数,彼此以一个空格分开,每个整数的范围是大于等于0,小于等于100。
输出
按照要求排序后输出一行,包含排序后的10个整数,数与数之间以一个空格分开。
样例输入
4 7 3 13 11 12 0 47 34 98
样例输出
47 13 11 7 3 0 4 12 34 98

题目简单,可以用数据结构的数组求解,也可以用链表求解,数组简单,直接上代码了。

代码调试了好长时间,主要是下标总是出错,真是醉了。

#include <iostream>
using namespace std;

int jsz[10];
int osz[10];
int sz[10];

int k=0,n=0;
int i,j;

int main()
{
    for(i=0; i<10; i++)
    {
        cin>>sz[i];
        if(sz[i]%2==1)
        {
            jsz[k]=sz[i];
            k++;
        }
        if(sz[i]%2==0)
        {
            osz[n]=sz[i];
            n++;
        }
    }

    for(i=0; i<k; i++)
    {
        for(j=0; j<k-i; j++)
        {
            if(jsz[j]<jsz[j+1])
            {
                int t;
                t=jsz[j];
                jsz[j]=jsz[j+1];
                jsz[j+1]=t;
            }
        }
    }

    for(i=0; i<n; i++)
    {
        for(j=0; j<n-1; j++)
        {
            if(osz[j]>osz[j+1])
            {
                int t;
                t=osz[j];
                osz[j]=osz[j+1];
                osz[j+1]=t;
            }
        }
    }

    for(i=0; i<k; i++)
    {
        cout<<jsz[i]<<" ";
    }
    for(i=0; i<n-1; i++)
    {
        cout<<osz[i]<<" ";
    }
    cout<<osz[n-1]<<endl;
    return 0;
}

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

时间: 2024-10-16 00:35:40

2015年北京大学软件工程学科优秀大学生夏令营上机考试---B:整数奇偶排序的相关文章

题目1117:整数奇偶排序 (2008年北京大学图形实验室计算机研究生机试真题)

题目描述: 输入10个整数,彼此以空格分隔.重新排序以后输出(也按空格分隔),要求:1.先输出其中的奇数,并按从大到小排列:2.然后输出其中的偶数,并按从小到大排列. 输入: 任意排序的10个整数(0-100),彼此以空格分隔. 输出: 可能有多组测试数据,对于每组数据,按照要求排序后输出,由空格分隔. 样例输入: 4 7 3 13 11 12 0 47 34 98 样例输出: 47 13 11 7 3 0 4 12 34 98 提示: 1. 测试数据可能有很多组,请使用while(cin>>

2017计算机学科夏令营上机考试-A判决素数个数

A:判决素数个数 总时间限制:  1000ms 内存限制:  65536kB 描述 输入两个整数X和Y,输出两者之间的素数个数(包括X和Y). 输入 两个整数X和Y(1 <= X,Y <= 105). 输出 输出一个整数,表示X,Y之间的素数个数(包括X和Y). 样例输入 1 100 样例输出 25代码: /*****************/ //NAME:ChengtaoGuo //DATE:2017-08-02 //SOURCE:BAILIANOJ /****************/

2017计算机学科夏令营上机考试-B编码字符串

B:编码字符串 总时间限制:  1000ms 内存限制:  65536kB 描述 在数据压缩中,一个常用的方法是行程长度编码压缩.对于一个待压缩的字符串,我们可以依次记录每个字符及重复的次数.例如,待压缩的字符串为"aaabbbbcbb",压缩结果为(a,3)(b,4)(c,1)(b,2).这种压缩对于相邻数据重复较多的情况有效,如果重复状况较少,则压缩的效率较低. 现要求根据输入的字符串,首先将字符串中所有大写字母转化为小写字母,然后将字符串进行压缩. 输入 一个字符串,长度大于0,

软件工程学科的诞生

1.        软件工程学科的产生背景 关于软件工程产出的背景,首先我们要确定软件这一定义及其作用,软件:计算机程序及其说明程序的各种文档."程序"是计算任务的处理对象和处理规则的描述. 软件的特点: 1 是一种逻辑产品,与物质产品有很大的区别. 2 软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品. 3 软件产品不会用坏,不存在磨损,消耗. 4 生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的

80后辣妈致2015年749万名应届大学生的一封信

前言:虽然高考已过,看完这篇文章你有什么想说的? 再过10天就是一年一度的高考.细细想来,我和高考的距离已经有9年之久.但是每年的这个时候,我的心里都会有莫名的恐惧和脊背发冷的战栗,也许我不能说这是高考给我心里留下了不能除去的烙印,亦或是说我们现行的教育制度,已经给我们的孩子们带来了怎样的压力.但是高考和大学却实实在在的改变着我们一代又一代人! 就拿我参加高考的那年来说.从高二开始,我的老师.同学.父母亲人.甚至是我从来都没有见过的我父母的朋友都知道,我要参加高考了.这就像是一个重磅炸弹,给我一

对于软件工程学科概况

软件工程作为一个新兴学科,它具备有一套系统完整的软件指标以及原理,并且是为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用的一系列完善的工程原理(方法),通过"工具.方法.过程"这三个要素来构成一种层次化的技术. 现如今,新媒体方式的传播越来越广泛,更多的企业,产家会采用数据化,信息化的管理以及销售方式,这就需要高精度的数据定义以及数据的使用,而软件工程这一学科向我们介绍了软件开发的方法,例如如何进行面向过程的结构化开发,如何进行面向对象的开发.还介绍了关于软件的整体构架,

2015年北京大学自主招生选拔录取考试数学部分

一.选择题(选对得10分,不选得0分,选错扣5分) 1.整数$x,y,z$满足$xy+yz+zx=1$,则$(1+x^2)(1+y^2)(1+z^2)$可能取到的值为(        ) A.$16900$ B.$17900$ C.$18900$ D.前三个答案都不对 2.在不超过$99$的正整数中选出$50$个不同的正整数,已知这$50$个数中任两个的和都不等于$99$,也不等于$100$.这$50$个数的和可能等于(        ) A.$3524$ B.$3624$ C.$3724$ D

2015 年第七届全国大学生数学竞赛江西赛区获奖名单(数学专业)

姓名 性别 赛区 学校名称 所学专业 参赛类型 获奖等级 廖登传 男 江西省 东华理工大学 数学与应用数学 数学专业 一等奖 马士飞 男 江西省 东华理工大学 数学与应用数学 数学专业 一等奖 聂鹏 男 江西省 东华理工大学 数学与应用数学 数学专业 二等奖 胡海浩 男 江西省 东华理工大学 数学与应用数学 数学专业 二等奖 王琪 男 江西省 东华理工大学 数学与应用数学 数学专业 二等奖 张雷 男 江西省 东华理工大学 信息与计算科学 数学专业 二等奖 饶小花 女 江西省 东华理工大学 数学与

川师大研究生2015级现代软件工程(2016春)

姓名                学号                        博客园博客链接王鹏霞        20151391001    http://www.cnblogs.com/alinawang/彭瑶          20151301005     http://www.cnblogs.com/pytlr520/梁瑷云        20151301001    http://www.cnblogs.com/Aiyun-Liang/胡玲碧        20151393