1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 奇数在前 偶数在后;奇数按从大到小排序;偶数按从小到大排序。对其重新排序。

奇数在前 偶数在后;奇数按从大到小排序;偶数按从小到大排序。对其重新排序。

时间:2018-09-28 13:20:04

相关推荐

奇数在前 偶数在后;奇数按从大到小排序;偶数按从小到大排序。对其重新排序。

蒜术师给了你一个10个整数的序列,要求对其重新排序。排序要求:

奇数在前,偶数在后;

奇数按从大到小排序;

偶数按从小到大排序。

输入格式

输入一行,包含1010个整数,彼此以一个空格分开,每个整数的范围是大于等于00,小于等于100100。

输出格式

按照要求排序后输出一行,包含排序后的1010个整数,数与数之间以一个空格分开。

Sample Input

4 7 3 13 11 12 0 47 34 98

Sample Output

47 13 11 7 3 0 4 12 34 98

#include<stdio.h>int main(){int i,j=0,k=0,n,a[99],b[99],c[99],j1,j2,temp1,temp2;for(i=0;i<10;i++){scanf("%d",&a[i]);//输入10个数字存储在a数组里 }for(i=0;i<10;i++){//先用一个for循环把奇数和偶数分别存储在数组c和b里 if(a[i]%2==0){b[j]=a[i];j++;}else {c[k]=a[i];//本题不再具体讲述插入排序法 ,有兴趣可翻开我之前笔记 k++;} }for(i=1;i<k;i++){temp1=c[i];j1=i-1;while(c[j1]<temp1&&j1>=0)//再使用插入排序法,奇数从大到小 c[j1]<temp1&&j1>=0 { c[j1+1]=c[j1];j1--; }c[j1+1]=temp1;}for(i=0;i<k;i++){printf("%d ",c[i]);//排完顺序输出}for(i=1;i<j;i++){temp2=b[i];j2=i-1;while(b[j2]>temp2&&j2>=0)//再使用插入排序法,奇数从大到小 b[j2]>temp2&&j2>=0 {b[j2+1]=b[j2];j2--;}b[j2+1]=temp2;}for(i=0;i<j;i++){printf("%d ",b[i]);//排完顺序输出}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。