02:奇数单增序列

02:奇数单增序列

总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出。

输入
共2行:
第1行为 N;
第2行为 N 个正整数,其间用空格间隔。
输出
增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。
样例输入
10
1 3 2 6 5 4 9 8 7 10
样例输出
1,3,5,7,9
#include<iostream>
#include<cmath>
#include<cstring>
#include<cstdlib>
#include<cstdio>  
#include<algorithm>
using namespace std;
int a[506],b[506];
/*int qsort(int l,int r)
{
    int i,j,mid,p;
    i=l;j=r;
    mid=b[(l+r)/2];
    do
    {
        while (b[i]<mid)i++;
        while (b[i]>mid)j--;
        if(i<=j)
        {
            swap(b[i],b[j]);
            i++;j--;
        }
    }while(i<=j);
    if(l<j)qsort(l,j);
    if(i<r)qsort(i,r);
}*/
int comp(const int&a,const int&b)
{
    if(a>b)return 1;
    return 0;
}
int main()
{
    memset(b,0,sizeof(b));
    int n,lb=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]%2!=0)
        {
            b[i]=a[i];
            lb++;
        }
    }
    sort(b+1,b+n+1,comp);
    for(int i=lb;i>=1;i--)
    {
        if(i!=1)
        printf("%d,",b[i]);
        else printf("%d",b[i]);
    }
}
原文地址:https://www.cnblogs.com/sssy/p/6596172.html