首页 > 其他分享 >C语言:规则排序

C语言:规则排序

时间:2022-11-18 11:57:35浏览次数:54  
标签:tmp 25 22 int C语言 规则 排序

题目

输入正整数 n,再输入 n 个正整数,先将其中的奇数从小到大排序,再将偶数从大到小排序。
 例如:
  输入:8 2 8 5 22 3 9 11 25
  输出:3 5 9 11 25 22 8 2

代码

  #include<stdio.h>
  #define swap(j,tmp) tmp=a[j];a[j]=a[j+1];a[j+1]=tmp

  int main(){
    int a[100] = {0};
    int n,i,j,tmp;
	
    scanf("%d",&n); 

    for(i=0;i<n;i++){
      scanf("%d",&tmp);
      a[i] = tmp;
    }
    for(i=0;i<n;i++){
      for(j=0;j<n-1;j++){
        if(a[j]%2==0&&a[j+1]%2==1){
          swap(j,tmp);
	}
        if((a[j]%2)+(a[j+1]%2)==0&&a[j]<a[j+1]){
          swap(j,tmp);
        }
        if((a[j]%2)+(a[j+1]%2)==2&&a[j]>a[j+1]){
          swap(j,tmp);
        }
      }
    }
    for(i=0;i<n;i++)printf("%d ",a[i]);
    return 0;
  }

标签:tmp,25,22,int,C语言,规则,排序
From: https://www.cnblogs.com/Shin404/p/16902735.html

相关文章

  • C语言:亲密数对
    题目输入N,N在2至3000之间,求2至N中的亲密数对。所谓亲密数对,就是A的因子和等于B,B的因子和等于A,且A≠B。如48和75是亲密数对。48的因子和为2+3+4+6......
  • C语言:学号输出
    题目用输出你的学号对应的八位数(每位数大小为55,每个数之间距离三个空格) 例如  输入12345678 输出: 代码#include<stdio.h>intmain(){charinp......
  • C语言:一元二次方程求解
    题目已知一元二次方程......
  • C语言:时间计算
    题目给出当前时间(XX时XX分XX秒),计算经过n秒后的时间,输出格式(XX时XX分XX秒,注意0的补位),超过24时则显示第二天的时间。 例如:  输入:09时11分22秒125秒  输出:09时13......
  • Java list stream 排序
    排序参考:https://blog.csdn.net/weixin_41405524/article/details/125524134Liststream方法用法参考:https://blog.csdn.net/BHSZZY/article/details/122860048......
  • 计算机等级考试二级C语言程序设计专项训练题——程序设计题(四)
    31、请编写函数voidfun(charxx[]),函数的功能是:将字符串数组xx中下标为奇数的字符按其ASCII值从大到小的顺序进行排序。例如:源字符串为:abcdefgh,则处理后字符串为:ahcfedgb......
  • C语言交通查询系统
    C语言交通查询系统数据结构实验周任务书1.设计目的:数据结构实验周课程设计旨在培养学生运用数据结构的相关知识和理论解决计算机建模的能力,具备良好的数据结构建模的思想......
  • C语言运动会分数统计程序
    C语言运动会分数统计程序运动会分数统计程序的设计(2人)运动会分数统计任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1…......
  • 排序算法Python
    冒泡排序defbubbleSort(nums):iflen(nums)<=1:returnnumsforiinrange(len(nums)-1):forjinrange(len(nums)-i-1):......
  • 冒泡排序法2.0版本,加输入、输出数组字符串
    大家晚上好呀,今天给大家带来的是冒泡排序法的代码,首先我们以一些简单的数字来举例,根据昨天已有的知识点,我们可以利用二重循环写出基本代码,如图但是我这个有问题,但我目前还没......