蒜头君给了一个长度为 NN(不大于 500500)的正整数序列(正整数的值不超过 NN),请将其中的所有奇数取出,并按升序输出
输入格式:
共2行
第1行为n;
第2行为n个整数;
输出格式
增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。
输入 | 输出 |
10 7 5 4 1 3 9 2 8 6 5 | 1,3,5,5,7,9 |
#include<stdio.h>
int main(){
int n,a[500],b[500],i=0,x=0,j=0,l,t;
scanf("%d\n",&n);
for (i=0;i<n;i++){
scanf("%d",&a[i]);
if (a[i]<=n){
if(a[i]%2==1){
b[j]=a[i];
j++;
x++;
}
}
}
for (j=0;j<x-1;j++){
for (l=0;l<x-j-1;l++){
if(b[l]>b[l+1]){
t=b[l+1];
b[l+1]=b[l];
b[l]=t;
}
}
}
for(j=0;j<x;j++){
printf("%d",b[j]);
if(j<x-1){
printf(",");
}
}
return 0;
}
思路:优先判断是否为奇数及是否小于n,将奇数输入第二个数组并进行冒泡排序。