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