7-17 部分逆置 (10 分)

7-17 部分逆置 (10 分)

输入n个整数,把第i个到第j个之间的全部元素进行逆置,并输出逆置后的n个数。
输入格式:

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试先输入三个整数n,i,j(0 < n <= 100,1 ≤ i < j ≤ n),再输入n个整数。
输出格式:

对于每组测试数据,输出逆置后的n个数,要求每两个数据之间留一个空格。
输入样例:

1
7 2 6 11 22 33 44 55 66 77

输出样例:

11 66 55 44 33 22 77

#include<iostream>
using namespace std;
int main() {
    int t, i, j, k, x, n, a[105];
    cin >> t;
    for(k = 1; k <= t; k++) {
        cin >> n >> i >> j;
        for(x = 1; x <= n; x++) {
            cin >> a[x];
        }
        for(x = 1; x < i; x++) {
            cout << a[x] << " ";
        }
        for(x = j; x >= i; x--) {
            cout << a[x] << " ";
        }
        for(x = n; x > j; x--) {
            cout<<a[x]<<" ";
        }
        cout<<endl;
    }
    return 0;
}

实现是定一个T 然后输入
while T减减
之后定一个n长度的数组
输入i和j 输入数组 遍历数组for循环k
如果k大于等于i小于等与j 就打印j减k加i


/*
将一组整数逆置:输入n(n<=10)及n个整数,将这组整数逆置输出 
*/
#include <stdio.h>
int main(void)
{
 int n[10];
 int i=0;
 while(i<10)
 {
  printf("请输入第%d个数:\n",i+1);
  scanf("%d",&n[i]);
  i++;
 }
 printf("倒叙输出:\n");
 for(i=9;i>=0;i--)//倒数计数方式 
 {
  printf("%-4d",n[i]);//+表示左边补空格,-表示右边补上空格 
 }
 return 0;
}