逆顺背诵 c++ 编程答案

小明刚学会奇数与偶数的判断方法,他的朋友便给他布置了这样的一个任务:

给定 N 个不超过 10000 的正整数,小明需要按顺序记住其中的奇数,最后逆序背诵出这些奇数。

但是,小明的记忆力不太好,他最多只能记住前面的 10 个奇数,后面的就记不住了。

请你编写一个程序,对于给定的 N 个正整数,输出小明最后背诵的奇数是哪些。
输入格式
第一行 N (1<=N<=1000)。

第二行 N 个不超过 10000 的正整数,用空格隔开。

输出格式
一行若干个数,用 1 个空格隔开,为小明的背诵结果。

样例输入
5
3 1 5 2 4
样例输出
5 1 3
样例输入
25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
样例输出
19 17 15 13 11 9 7 5 3 1

代码如下:

#include <iostream>
using namespace std;
#define N 1000
int main()
{
    int a,b[10],i;
    int nmb = 0;
    int nm = 0;
    cin >> nm;
    for(i=0;i<nm;i++)
    {
        cin >> a;
        if(a%2 == 1 && nmb < 10)
            b[nmb++] = a;
    }
    for(i=nmb-1;i>=0;i--)
        cout << b[i] << " ";
    cout << endl;
    return 0;
}