【问题描述】
给定一个长度为n(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出。
【输入】
第1行为n;
第2行为n个正整数,其间用空格间隔。
【输出】
增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。
【输入样例】
10
1 3 2 6 5 4 9 8 7 10
【输出样例】
1,3,5,7,9
【参考程序】
#include <cstdio>
#include <iostream>
using namespace std;
int main() {
int a[1001]; // a存储原始整数
int b[1001]; // b存储原始奇数
int n, k=0;
scanf("%d", &n);
for (int i=1; i<=n; i++) { // 输入数据
scanf("%d", &a[i]);
if (a[i] % 2 != 0) { // 将奇数全部取出单独存放
k++;
b[k] = a[i];
}
}
for (int i=1; i<=k-1; i++) { // 从小到大,选择排序
for (int j=i+1; j<=k; j++) {
if (b[i] > b[j]) {
swap(b[i], b[j]); // 当满足条件,则进行交换
}
}
}
for (int i=1; i<=k-1; i++) {
printf("%d,", b[i]); // 输出时处理逗号
}
printf("%d\n", b[k]);
return 0;
}