文章

25

粉丝

364

获赞

8

访问

207.0k

头像
小数量,冒泡即可(C)
P1010 兰州大学2018/贵州大学2018年机试
发布于2021年1月18日 11:47
阅读数 10.1k

#include <stdio.h>
#include <string.h>
#include <stdlib.h>


int main()
{
    int n,top=-1;
    int a[1000];
    //读取
    scanf("%d",&n);
    for (int i = 0; i < n; i++)
    {
        scanf("%d",&a[i]);
    }
    //将奇数排在前面
    for (int i = 0,tmp; i < n; i++)
    {
        if (a[i]%2!=0)
        {
            tmp=a[++top];
            a[top]=a[i];
            a[i]=tmp;
        }      
    }
    //升序排列奇数(冒泡)
    for (int i = top,flg; i > 0; i--)
    {
        flg=0;
        for (int j = 1,tmp; j <= i; j++)
        {
            if (a[j]<a[j-1])
            {
                flg=1;
                tmp=a[j];
                a[j]=a[j-1];
                a[j-1]=tmp;
            }         
        }  
        if (flg==0)
        {
            break;
        }          
    }
    //升序排列偶数(冒泡)
    for (int i = n-1,flg; i > top+1; i--)
    {
        flg=0;
        for (int j = top+2,tmp; j <= i; j...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发