题目描述:
给了一个长度为 N(不大于 500)的正整数序列(正整数的值不超过 N),请将其中的所有奇数取出,并按升序输出。
输入格式:
共 2 行:
第 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 a,b,c,d,f,i; scanf("%d",&a);int e[a]; for(b=0;b<a;b++){ scanf("%d",&c); e[b]=c; } d=0; for(b=0;b<a;b++){ if(e[b]%2==1){ d++; } }int g[d];d=0; for(b=0;b<a;b++){ if(e[b]%2==1){ g[d]=e[b];d++;//放入新的数组; } } for(b=0;b<d-1;b++){ for(f=0;f<d-b-1;f++){ if(g[f]>g[f+1]){ i=g[f+1]; g[f+1]=g[f]; g[f]=i; } } }//把新的数组排序; for(b=0;b<d;b++){ if(b!=d-1){ printf("%d,",g[b]); } else if(b==d-1){ printf("%d",g[b]); } }将其输出; printf("\n"); return 0; }