描述:
蒜头君给了一个长度为 NN(不大于 500500)的正整数序列(正整数的值不超过 NN),请将其中的所有奇数取出,并按升序输出。
输入格式
共 22 行:
第 11 行为 NN;
第 22 行为 NN 个正整数,其间用空格间隔。
输出格式
增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。
输入样例
10 1 3 2 6 5 4 9 8 7 10
输出样例
1,3,5,7,9
解题思路:先找出数组中的奇数,将其放入另一个数组中,再将奇数数组中各数值排列顺序并输出,最后在各数值之间加入逗号。
#include<stdio.h>
int main(){
int num[505];//不包含0
int temp[505];
int j,n,i,count=0,sum;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&num[i]);//输入n个数存入num[i]中
if(num[i]%2!=0){//判断数组中为奇数的数
temp[count]=num[i];//将奇数组存入temp[count]
count++;//奇数的个数
}
}
for(i=0;i<count;i++){//在奇数个数范围内循环
for(j=i;j<count;j++){
if(temp[i]>temp[j]){//该循环排列数组的顺序
sum=temp[j];
temp[j]=temp[i];
temp[i]=sum;
}
}
}
for(j=0;j<count;j++){
printf("%d",temp[j]);//输出奇数的升序
if(j!=count-1){
printf(",");//在各奇数中间输出一个逗号
}
}
return 0;
}