PTA 练习7-3 将数组中的数逆序存放(20 分)

练习7-3 将数组中的数逆序存放(20 分)

本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。

输入格式:

输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。

输出格式:

在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。

输入样例:

4
10 8 1 2

输出样例:

2 1 8 10

#include <stdio.h>
int main(){
    int m=0,i=0,j=0,a[10],b[10],count=0;
    scanf("%d",&m);
    for(i=0;i<m;i++)

   {
            scanf("%d",&a[i]);
    }

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

   {
           b[count]=a[i];
           count++;
    }                                          
//另外取一个空数组b[10将a[10]中数组逆序放入b[10]
    for(j=0;j<m;j++)

    {
           printf("%d",b[j]);

           if(j<m-1)

              {
                    printf(" ");

              }                                 //末尾不出现多余空格

    }
return 0;

 

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 将数组中逆序存放,即将数组中的第一个元素和最后一个元素交换,第二个元素和倒第二个元素交换,以此类推,直到数组中间位置。可以使用双指针法,一个指针指向组的第一个元素,另一个指针指向组的最后一个元素,然后交换它们的值,再将两个指针别向间移动,重复以上操作,直到两个指针相遇。 ### 回答2: 题目说明: 本题要求我们编写程序,将一个包含n个整数组倒序存放析思路: 倒序存放个数组,可以用两个指针别指向组的首尾元素,然后交换它们的值,然后依次向间逼近,直到两个指针相遇。 代码实现: C++代码实现如下: ```c++ #include <iostream> using namespace std; int main() { int n; cin >> n; //输入组长度 int a[n]; //定义一个n元素组a for(int i = 0; i < n; ++i) //输入n个整数 { cin >> a[i]; } for(int i = 0; i < n / 2; ++i) //将数组中逆序存放 { swap(a[i], a[n - i - 1]); } for(int i = 0; i < n; ++i) //输出逆序存放后的组 { cout << a[i] << " "; } return 0; } ``` Python3代码实现如下: ```python n = int(input()) #输入组长度 a = list(map(int, input().split())) #将一行输入转化为列表a for i in range(n // 2): #将数组中逆序存放 a[i], a[n - i - 1] = a[n - i - 1], a[i] print(" ".join(str(i) for i in a)) #输出逆序存放后的组 ``` Java代码实现如下: ```java import java.util.Scanner; public class Main { public static void main(String [] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); //输入组长度 int [] a = new int [n]; //定义一个n元素组a for(int i = 0; i < n; ++i) //输入n个整数 { a[i] = scan.nextInt(); } for(int i = 0; i < n / 2; ++i) //将数组中逆序存放 { int temp = a[i]; a[i] = a[n - i - 1]; a[n - i - 1] = temp; } for(int i = 0; i < n; ++i) //输出逆序存放后的组 { System.out.print(a[i] + " "); } } } ``` 总结: 本题需要注意的是交换两个数字的值,可以使用C++的swap函,Python3的多重赋值,Java的暂存变量等方式,需要根据所选的语言来选择对应的方式。 ### 回答3: 题目描述 将一个数逆序存放。例如,原来的顺序为1, 6, 5, 3, 2, 4,存放后变成4, 2, 3, 5, 6, 1。 输入格式 输入的第一行包含一个整数n,表示数组中元素个数。 第二行包含n个整数,表示数组中元素输出格式 输出一行,包含n个整数,表示逆序存放后的组。 输入样例 6 1 6 5 3 2 4 输出样例 4 2 3 5 6 1 题目析 题目要求将一个数逆序存放,此时需要将数组中元素进行逆序排列,并将排列后的结果输出。由于题目给出了数组中元素个数n和n个整数,因此我们可以使用一个数组来存放这些元素,然后使用循环将其逆序排列,最后输出即可。 具体而言,这道题目可以按照以下步骤实现: 1. 读取输入的元素个数n 2. 根据n的大小创建一个长度为n的组,并读取元素 3. 使用循环将数组中元素逆序排列 4. 输出排列后的元素 代码实现
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值