你有一个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;
}
答案 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;
}