【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-奇数序列排序

C++ L13 奇数序列排序

  • 给定一个长度为N的正整数序列,

  • 请将其中的所有奇数取出,并按增序(从小到大)输出。

  • 输入:

共2行

第1行是一个正整数 N(不大于500);

第2行有 N 个正整数(小于100,000),相邻两数之间用空格隔开。

  • 输出:

输出1行,为增序的奇数序列,两数之间以英文逗号分隔。

题目数据保证至少有一个奇数。
注意:输出数据不得有多余的逗号

  • 输入样例:

10

10 3 8 6 7 4 9 5 2 1

  • 输出样例:

1,3,5,7,9

cpp 复制代码
#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int N;
    cin >> N;
    // 定义存储奇数的数组,初始长度为输入的正整数 N
    int arr[N];
    int oddCount = 0;
    for (int i = 0; i < N; i++) {
        int num;
        cin >> num;
        // 判断输入的数是否为奇数
        if (num % 2!= 0) {
            // 将奇数存入数组并计数
            arr[oddCount++] = num;
        }
    }
    // 对存储奇数的数组进行排序
    sort(arr, arr + oddCount);
    for (int i = 0; i < oddCount; i++) {
        cout << arr[i];
        // 判断是否为最后一个奇数,决定是否输出逗号
        if (i < oddCount - 1) {
            cout << ",";
        }
    }
    return 0;
}
相关推荐
apcipot_rain7 小时前
C++转Java日记(04)
java·开发语言·c++
NEFU_Jyj7 小时前
牛客周赛R168
算法
WL学习笔记9 小时前
vector模拟实现
c++
蜗牛一步步往上爬11 小时前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
Navigator_Z15 小时前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
wo_jack15 小时前
C++ 入门笔记(十六):第16课 vector 模拟实现十问十答 —— 从三指针到迭代器失效
c++·后端·面试·stl·vector
D e re k ZH16 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
冻柠檬飞冰走茶16 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
雪落漂泊17 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法