­

奇数单增序列

1177:奇数单增序列

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 32698     通过数: 16663

【题目描述】

给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出。

【输入】

第1行为 N;

第2行为 N 个正整数,其间用空格间隔。

【输出】

增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。

【输入样例】

10
1 3 2 6 5 4 9 8 7 10

【输出样例】

1,3,5,7,9

分析:
这道题非常简单,其实只要判断奇偶并排序就行了,这里我用的是sort,也可以用其他的。还有就是要注意逗号,直接输出第一个,后面的按规律即可。

代码:

#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n,a[1000],b,cnt=0;//cnt是记录奇数的数量
cin>>n;
for(int i=1;i<=n;++i){
cin>>b;
if(b%2==1){
cnt++;//如果是奇数,存入a数组,cnt++
a[cnt]=b;
}
}
sort(a+1,a+cnt+1);//排序
cout<<a[1];//输出第一个数
for(int i=2;i<=cnt;++i){
cout<<“,”<<a[i];//按逗号后面是数的顺序输出。
}
return 0;
}