一本通 1177:奇数单增序列 (爸爸)

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;
}
发布了33 篇原创文章 · 获赞 0 · 访问量 167

猜你喜欢

转载自blog.csdn.net/weixin_42790071/article/details/105464228