蒜头君给了一个长度为 NN(不大于 500500)的正整数序列(正整数的值不超过 NN),请将其中的所有奇数取出,并按升序输出。
输入格式
共 22 行:
第 11 行为 NN;
第 22 行为 NN 个正整数,其间用空格间隔。
输出格式
增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。
#include <stdio.h> int main () { int a[500]; int n; scanf("%d", &n);//输入n个数据 int i; for (i = 0; i < n; i++) { scanf("%d", &a[i]); }//利用for循环录入数组 int b[500]; int j = 0; int cnt = 0; for (i = 0; i < n; i++) { if (a[i] % 2 != 0) { b[j++] = a[i];//将奇数录入数组b cnt++;//记录数组b的个数 } } int k, temp; for (j = 1; j < cnt; j++) { k = j - 1; temp = b[j]; while (b[k] > temp && k >= 0) { b[k + 1] = b[k]; k--; } b[++k] = temp; }//利用for循环将数组b中的奇数排序 for (j = 0; j < cnt; j++) { printf("%d", b[j]); if (j < cnt - 1) printf(","); }//用for循环输出数组 printf("\n"); return 0; }
A-简单排序
最新推荐文章于 2024-09-12 15:51:57 发布