C ++ Array帮助交换值和打印

时间:2015-10-21 06:46:20

标签: c++ arrays

你有一个5个整数的数组:5,4,3,2,1。提示用户输入2个值。两个整数将表示数组中的索引。您必须交换两个索引中的值,然后打印出该数组。数组的每个值都应该在它自己的行上打印。

如果给你的数字超出范围,不要交换任何元素,并打印数组。

不了解他们希望我将用户输入的位置?两个指标?这是否意味着数组的前两个值?

这是我到目前为止所拥有的

#include <iostream>

using namespace std;

int main()
{

int my_array[] = {5,4,3,2,1};

int input;
cin >> input;

my_array[0] = input;

int second;
cin >> second;

my_array[1] = second;

//cout ... ?

 return 0;
}

2 个答案:

答案 0 :(得分:0)

无论我从你的问题中理解的是,如果输入值在数组的可能索引中,那么你必须从用户输入获取两个值,然后交换它们并打印数组,否则打印给定数组如果他们中的任何人不在数组的可能索引中。

#include <iostream>

using namespace std;

int main()
{

int my_array[5] = {5,4,3,2,1};

int input1,input2,temp;
cin >> input1>>input2;
if(input1<5&&input2<5)
{
my_array[input1]=temp; //swap values of indexes of input
my_array[input2]=my_array[input1];
temp=my_array[input2];
}
for(i=0;i>5;i++){
cout<<my_array[i]<<endl;
}
return 0;
} 

答案 1 :(得分:0)

经过验证的以下代码的次要改编:

#include <iostream>

using namespace std;

int main()
{
    int my_array[] = { 5,4,3,2,1 };
    //
    int input1, input2, temp;
    cin >> input1 >> input2;
    if( input1 < 5 && input2 < 5 )
    {
        double temp = my_array[ input1 ];
        my_array[ input1 ] = my_array[ input2 ];
        my_array[ input2 ] = temp;
    }
    for( int i = 0; i < 5; i++ )
    {
        cout << my_array[ i ] << endl;
    }
    //
    return 0;
}