首页 > 解决方案 > 如何输出数组中的第一个、最后一个、第二个、倒数第二个等元素?

问题描述

如果我说我想要 10 个元素,例如 1、2、3、4、5、6、7、8、9 和 10,我希望输出为 1、10、2、9、3、8、4, 7、5、6。

而且我想不出办法。

#include <iostream>

using namespace std;

int main()
{
    int n, v[1000], j=0;

    cin >> n;

    for(int i=0; i<n; i++){
        cin >> v[i];
    }
    for(int i=0; i<n; i++){
        cout << v[i] << " " << v[n - j] << " ";
        j++;
    }
    return 0;
}

标签: c++arrays

解决方案


你可以这样做:首先让我们认为n是偶数,所以我们可以将数组的长度分成两个相等的部分,现在我们将转到第一部分,我们将数组前半部分的每个元素将从最后一个开始打印相应的元素。如果 Anfn是奇数,那么最后我们需要打印中间那个。

#include <iostream>

using namespace std;

int main()
{
    int n, v[1000], j=0;

    cin >> n;

    for(int i=0; i<n; i++){
        cin >> v[i];
    }
    int nn = n/2;

    for(int i=0; i<nn; i++){
        cout << v[i] << " " << v[n - i-1] << " ";
    }
    if(n%2) cout << v[nn];
    return 0;
}


推荐阅读