1177:奇数单增序列
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 14993 通过数: 7526
【题目描述】
给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出。
【输入】
第1行为 N;
第2行为 N 个正整数,其间用空格间隔。
【输出】
增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。
【输入样例】
10 1 3 2 6 5 4 9 8 7 10
【输出样例】
1,3,5,7,9
解释:看上去是插入排序比较合适(因为读一个数,可以排一个数),不过懒,用冒泡。。。
#include<bits/stdc++.h>
using namespace std;
int n;
int a[505];
int main(){
freopen("test.in","r",stdin);
freopen("test.out","w",stdout);
cin>>n;
int k=0;
int tmp;
for(int i=1;i<=n;i++){
cin>>tmp;
if(tmp%2==1){
a[++k]=tmp;
//printf("a[%d]=%d ",k,tmp);
}
}
for(int i=1;i<=k;i++){
for(int j=1;j<=k-i;j++){
if(a[j]>a[j+1]){
swap(a[j],a[j+1]);
}
}
}
cout<<a[1];
for(int i=2;i<=k;i++){
cout<<","<<a[i];
}
return 0;
}