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]); } }