C++ 如何向后打印数组

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/30834885/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-28 13:49:34  来源:igfitidea点击:

how to print an array backwards

c++arrays

提问by unexpectedprogramming

The user enteres a number which is put in an array and then the array needs to be orinted backwadrds

用户输入一个数字放在一个数组中,然后该数组需要被反向定位

int main()
{
    int numbers[5];
    int x;

    for (int i = 0; i<5; i++)
    {
        cout << "Enter a number: ";
        cin >> x;
        numbers[x];
    }

    for (int i = 5; i>0 ; i--)
    {
        cout << numbers[i];
    }

    return 0;
}

回答by ChrisD

You're very close. Hope this helps.

你很亲近。希望这可以帮助。

#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {
    int numbers[5];
    /* Get size of array */
    int size = sizeof(numbers)/sizeof(int);
    int val;

    for(int i = 0; i < size; i++) {
        cout << "Enter a number: ";
        cin >> val;
        numbers[i] = val;
    }

    /* Start index at spot 4 and decrement until k hits 0 */
    for(int k = size-1; k >= 0; k--) {
        cout << numbers[k] << " ";
    }
    cout << endl;

    return 0;
}

回答by Hady

#include<iostream>

using namespace std;
int main()
{
    //get size of the array
    int arr[1000], n;
    cin >> n;
    //receive the elements of the array
    for (int i = 0; i < n; i++)
    {
        cin >> arr[i];
    }
    //swap the elements of indexes
    //the condition is just at "i*2" be cause if we exceed these value we will start to return the elements to its original places 
    for (int  i = 0; i*2< n; i++)
    {
        //variable x as a holder for the value of the index 
        int x = arr[i];
        //index arr[n-1-i]: "-1" as the first index start with 0,"-i" to adjust the suitable index which have the value to be swaped
        arr[i] = arr[n - 1 - i];
        arr[n - 1 - i] = x;
    }
    //loop for printing the new elements
    for(int i=0;i<n;i++)
    {
        cout<<arr[i];
    }
    return 0;
}

回答by M Umer

You are very close to your result but you did little mistakes, the following code is the correct solution of the code you have written.

您非常接近您的结果,但您几乎没有犯错,以下代码是您编写的代码的正确解决方案。

int main()
{
    int numbers[5];
    int x;

    for (int i = 0; i<5; i++)
    {
        cout << "Enter a number: ";
        cin >> numbers[i];
    }

    for (int i = 4; i>=0; i--)
    {
        cout << numbers[i];
    }

    return 0;
}

回答by David Zhu

#include <iostream>

using namespace std;

int main() {

//print numbers in an array in reverse order
int myarray[1000];
cout << "enter size: " << endl;
int size;
cin >> size;
cout << "Enter numbers: " << endl;
for (int i = 0; i<size; i++)
{
    cin >> myarray[i];
}

for (int i = size - 1; i >=0; i--)
{
    cout << myarray[i];
}

return 0;

}

of course you can just delete the cout statements and modify to your liking

当然,您可以删除 cout 语句并根据自己的喜好进行修改

回答by muhammad Asadullah

this one is more simple

这个更简单

#include<iostream>

using namespace std;

int main ()

{

int a[10], x, i;

cout << "enter the size of array" << endl;

cin >> x;
  cout << "enter the element of array" << endl;

for (i = 0; i < x; i++)
    {

cin >> a[i];

}

cout << "reverse of array" << endl;

for (i = x - 1; i >= 0; i--)

cout << a[i] << endl;

}

回答by minha

#include <iostream>
using namespace std;

int main ()
{
    int array[10000];
    int N;

    cout<< " Enter total numbers ";
    cin>>N;

    cout << "Enter  numbers:"<<endl;

    for (int i = 0; i <N; ++i)                                           
    {
        cin>>array[i];
    }
    for ( i = N-1; i>=0;i--)
    {                                                             
        cout<<array[i]<<endl;
    }
    return 0;
}