首页 > 试题广场 >

数组元素反转

[编程题]数组元素反转
  • 热度指数:20925 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
键盘随机输入 6 个整数,将这些数据保存到数组中,先将数组中元素按照格式输出,然后再将数组元素反转,最后按照格式再次输出数组元素。

输入描述:
键盘随机输入 6 个整数


输出描述:
第一次按照格式输出数组中元素,每个元素中间使用逗号和空格隔开,整体使用中括号括起来。
例如:[5, 12, 80, 7, 15, 60]
第二次按照格式输出反转后数组中元素,每个元素中间使用逗号和空格隔开,整体使用中括号括起来。
例如:[60, 15, 7, 80, 12, 5]
示例1

输入

5
12
80
7
15
60

输出

[5, 12, 80, 7, 15, 60]
[60, 15, 7, 80, 12, 5]
#include <iostream>
using namespace std;
int main() {
    int arr[6] = { 0 };
    int len = sizeof(arr) / sizeof(int);
    for (int i = 0; i < len; i++)
    {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) 
    {
        if (i == len - 1) 
        {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    //方法一
    //创建新数组,倒序插入值,输出新数组
    int arr1[len];
    for(int i=len-1;i>=0;i--)
    {
        arr1[len-1-i]=arr[i];
    }
    
    //方法二
    //创建数组,实现逆置,打印数组
    int start=0;//记录起始下标
    int end=len-1;//记录结束下标
    while(start<end)//循环条件
    {
        int temp=arr[start];//插入临时值实现元素互换
        arr[start]=arr[end];//
        arr[end]=temp;//
        start++;
        end--;
    }
    
    cout << "[";
    for (int i = 0; i < len; i++)
    {
        if (i == len - 1)
        {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    return 0;
}

发表于 2022-01-21 22:27:16 回复(0)
#include <bits/stdc++.h>
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);

    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    // write your code here......
    int temp =arr[0];

    for (int i = 0; i < len/2; i++){
        temp = arr[i];
        arr[i] = arr [len - i - 1];
        arr[len - i - 1] = temp;
    }


    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    return 0;
}

发表于 2022-01-13 11:01:40 回复(1)
#include <iostream>
using namespace std;

int main() 
{
	
	int arr[6] = { 0 };
	
	int len = sizeof(arr) / sizeof(int);
	
	for (int i = 0; i < len; i++)
	{
		cin >> arr[i];
	}
	
	cout << "[";
	for (int i = 0; i < len; i++) 
	{
		if (i == len - 1) 
		{
			cout << arr[i] << "]" << endl;
			break;
		}
		cout << arr[i] << ", ";
	}
	
	// write your code here......
	
	
	
	cout << "[";
	for (int i = len-1; i >0; i--)
	{
	
		
			
		cout << arr[i] << ", ";

	}
	
	cout<<arr[0]<<"]";
	
	return 0;
}

发表于 2022-04-13 16:29:38 回复(0)
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    // write your code here......
    for(int i=0;i<len/2;i++)
        swap(arr[i],arr[len-1-i]);

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    return 0;
}

发表于 2021-11-16 11:30:24 回复(0)
#include <iostream>
#include <cstdlib>
using namespace std;

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
   
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    // write your code here......
    int len1 =len;
    for(int i = 0;;i++)
    {
        if(i<len1)
        {
            swap(arr[i],arr[len1-1]);
        }
        else
        {
            break;
        }
        len1--;
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    return 0;
}
发表于 2024-07-11 14:27:32 回复(1)
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
   
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    // write your code here......
    for (int i = 0; i < len/2; i++)
    {
        arr[i] ^= arr[len-1-i];
        arr[len-1-i] ^= arr[i];
        arr[i] ^= arr[len-1-i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    return 0;
}
发表于 2023-12-17 13:53:53 回复(0)
#include <algorithm>
#include <iostream>
using namespace std;

void printf(int arr[], int len) {
    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }
}

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    printf(arr, len);
    reverse(arr, arr + 6);
    printf(arr, len);

    return 0;
}

发表于 2023-04-23 17:49:39 回复(0)
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    // write your code here......
    for (int i = 0; i < len / 2; i++)
    {
        std::swap(arr[i], arr[len - 1 - i]);
    }

    cout << "[";
    for (int i = 0; i < len; i++)
    {
        if (i == len - 1)
        {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }
    
    return 0;
}

发表于 2025-01-17 10:05:49 回复(0)
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
   
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    // write your code here......
     int brr[6]={ 0 };
     for (int i = 0; i < len; i++) {
        brr[i]=arr[i];
     }
    for (int i = 0; i < len; i++) {
        arr[i]=brr[len-i-1];
     }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    return 0;
}
发表于 2024-12-04 19:10:56 回复(0)
#include <cstdio>
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };
    int rearr[6] = { 0 };
    int len = sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }
   cout << "[";
    for(int i=0; i<len; i++){
        if(i==len-1){
            cout << arr[i] << "]" <<endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    cout << "[";
    for(int i=len-1; i>=0; i--){
        if(i==0){
            cout << arr[i] << "]" <<endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    return 0;
}


发表于 2024-11-01 23:04:06 回复(0)
for(int i = 0;i<len/2;i++){
swap(arr[i],arr[len-1-i]);
}
发表于 2024-03-09 19:44:53 回复(0)
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    // write your code here......
    int arr2[6];
    for(int i = 0; i < 6; ++i){
        arr2[i] = arr[5-i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr2[i] << "]" << endl;
            break;
        }
        cout << arr2[i] << ", ";
    }

    return 0;
}

编辑于 2024-02-01 11:31:18 回复(0)
 for(int i =0,j=len-1;i<=len/2-1;i++,j--){
        int swap;
        swap=arr[i];
        arr[i]=arr[j];
        arr[j]=swap;
    }
编辑于 2024-01-23 19:05:15 回复(0)
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
    
    int temp;

    cout<<"[";
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
        cout<<arr[i];
        if(i!=len-1)cout<<", ";
    }
    cout<<"]";

    for (int i = 0; i < len/2; i++) 
    {
        temp=arr[i];
        arr[i]=arr[len-i-1];
        arr[len-i-1]=temp;
    }

    cout<<endl<<"[";
    for(int i = 0; i < len; i++)
    {
        cout<<arr[i];
        if(i!=len-1)cout<<", ";
    }
     cout<<"]";


    return 0;
}

编辑于 2023-12-02 03:24:58 回复(0)
#include <iostream>
using namespace std;
void reverse(int arr[],int size);
int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    // write your code here......
       reverse(arr, len);
     
    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }
    return 0;
}
void reverse(int arr[],int size)
{
           for(int k=0;k<(size/2);k++)
    {
        swap(arr[k],arr[size-k-1]);
        
    }
}
发表于 2023-10-07 22:13:11 回复(0)
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
   
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    // write your code here......
   

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[5-i] << "]" << endl;
            break;
        }
        cout << arr[5-i] << ", ";
    }

    return 0;
}
发表于 2023-09-26 14:58:56 回复(0)
#include <iostream>
#include <deque>
#include <algorithm>
#include <string>

using namespace std;

int main() {

    int inta;
    deque<int> deqa;
    while(cin >> inta){
        deqa.push_back(inta);
    }

    string stra = "[";
    for(auto iter = deqa.begin();iter!=deqa.end();iter++){
        stra += to_string(*iter);
        stra += ", ";
    }
    
    stra = stra.substr(0, stra.length()-2);
    stra += "]";
    cout << stra << endl;

    stra = '[';
    for(auto iter = deqa.rbegin();iter!=deqa.rend();iter++){
        stra += to_string(*iter);
        stra += ", ";
    }
    
    stra = stra.substr(0, stra.length()-2);
    stra += "]";
    cout << stra;

    return 0;
}

发表于 2023-08-31 16:24:24 回复(0)
    // 对数组中的数据进行反转
    // int temp;
    // for(int i = 0;i<len/2;i++)
    // {
    //     temp = arr[len-1-i];
    //     arr[len-1-i] = arr[i];
    //     arr[i] = temp;
    // }
    // 使用C++算法进行反转
    reverse(arr,arr+6);
发表于 2023-07-18 15:20:13 回复(0)
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
    

    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {

        //当循环到最后一个数组元素时增加]括号
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    cout <<"[";
    //len的长度是从1开始的,所以需要i-1获取最后一个数组元素
    for (int i = len-1;i >= 0; i--){
        if (i == 0){
            cout <<arr[i] << "]" <<endl;
            break;
        }
        cout << arr[i] << ", ";
    }
    // write your code here......
    
    
    
    return 0;
}

发表于 2023-07-13 13:49:49 回复(0)
for (int k = len,i=0; i <k/2; i++)
    {  int t;
        t=arr[i];
        arr[i]=arr[k-i-1];
        arr[k-i-1]=t;

    }
发表于 2023-06-24 23:37:16 回复(0)