如何解决,请尽快回复新手入门

数组指定部分逆序重放
题目背景
新手入门经典题。

题目描述
将一个数组中的前k项按逆序重新存放。例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。

输入格式
输入为两行: 第一行两个整数,以空格分隔,分别为数组元素的个数n(1 < n < 100)以及指定的k(1 <= k <= n)。 第二行是n个整数,每两个整数之间用空格分隔。

输出格式
输出为一行:输出按题目要求逆序后数组的整数,每两个整数之间用空格分隔。
输入数据
5 3
8 6 5 4 1
输出数据
5 6 8 4 1

望采纳,谢谢!

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