蒜头君给了一个长度为 N(不大于 500)的正整数序列(正整数的值不超过 N),请将其中的所有奇数取出,并按升序输出。
输入格式:
共两行;
第一行为N;
第二行为N个正整数,其间用空格间隔。
输出格式:
增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。
输入样例:
10
1 3 2 6 5 4 9 8 7 10
输出样例:
1,3,5,7,9
#include<stdio.h>
int main()
{
int n;
int q=0;//将数组下标设为0;
scanf("%d",&n);//输入正整数n;
int a[500];//定义数组;
for(int i=0;i<n;i++)
{
int x;
scanf("%d",x);//输入n个x;
if(x%2!=0)//每输入一个x判断是不是奇数;
{
a[q]=x;//如果是奇数将其存入a[q]数组中;
q++;//q进行+1;使下一个变为a[1],a[2],a[3].......
}
}//a[q]为奇数数组;
//冒泡循环模板;
int t;
for(i=0;i<q;i++)//数组中前一个 ;
{
for(j=i+1;j<q;j++)//数组中后一个;
{
if(a[i]>a[j])//前一个与后一个比较;
{
t=a[i];
a[i]=a[j];
a[j]=t;//如果符合判断条件;将前一个与后一个进行交换;
}
}
}
for(int i=0;i<q;i++)
{
printf("%d",a[i]);//按顺序输出数组;
if(i!=q-1)
{
printf(",")//如果i==q-1(i是最后一个数);不输出,如果i不是最后有一个数,输出,
}
}
return 0;
}