题目描述
给定一个长度为 N
(不大于 500
)的正整数序列,请将其中的所有奇数取出,并按升序输出。
输入格式
第 1
行为 N
;第 2
行为 N
个正整数,其间用空格间隔。
输出格式
增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。
输入样例
10
1 3 2 6 5 4 9 8 7 10
输出样例
1,3,5,7,9
代码:
#include<stdio.h>
int main()
{
int n,i=0,j=0,m=0;
int a[n],b[n];
scanf("%d",&n);
for(i=0;i<n;i++) //首先遍历输入n个整数
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
if(a[i]%2!=0) //将输入的整数中属于奇数的拎出来组成为数组b
{
b[m]=a[i]; //m就是奇数的个数
m++;
}
}
for(i=0;i<m-1;i++) //使用冒泡排序进行升序的排序
{
for(j=0;j<m-1-i;j++)
{
if(b[j]>b[j+1])
{
int t;
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
}
}
}
for (i=0;i<m;i++) //输出这些奇数
{
if (i==m-1) //如果是最后一位,即下标为m-1 不用逗号,其余都要
printf("%d",b[i]);
else
printf("%d,",b[i]);
}
return 0;
}