2084 - 【一维数组】排序后的奇数项
时间限制 : 1 秒
内存限制 : 64 MB
有20个正整数,将它们从小到大排序,输出其中的奇数项。
题目输入
一行,有20个正整数,整数之间用空格隔开。
题目输出
一行,排序后奇数项的值。行末不要出现多余空格。
输入/输出样例
输入格式
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
输出格式
1 3 5 7 9 11 13 15 17 19
C语言解答
#include <stdio.h> #include <stdlib.h> int main() { int i,j,n,t,a[1001]={0}; n=20; for (i=1;i<=n;i++) scanf("%d",&a[i]); for (i=1;i<=n-1;i++) for (j=i+1;j<=n;j++) { if (a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } printf("%d",a[1]); for (i=3;i<=n;i=i+2) printf(" %d",a[i]); printf("\n"); return 0; }
C++解答
#include<iostream> using namespace std; int main() { int n,z; int f[20]; for(int i=1;i<=20;i++) {cin>>n; f[i]=n; } for(int q=1;q<=20;q++) for(int x=2;x<=20;x++) { if(f[x-1]>f[x]) { z=f[x];f[x]=f[x-1];f[x-1]=z;} }; for(int p=1;p<=19;p+=2) {if(p!=19) cout<<f[p]<<" "; else cout<<f[p]; } cout<<endl; return 0; }