循环的右移问题 c++

img


没有头绪 这个应该怎么做 帮忙看看 感谢 几次倒置呢还是有一个什么函数可以 初学者 可以给几条回答吗 感谢

更改输出即可

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int t[n];
    for(int i=0; i<n; i++)
        scanf("%d",&t[i]);
    printf("%d ",t[n-1]);
    for(int i=0; i<n-1; i++)
        printf("%d ",t[i]);
    return 0;
}

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int n;
    cin >> n;

    vector<int> a(n), b(n);
    for(int i = 0; i < n; i++) cin >> a[i];
    for(int i = 1; i < n; i++) b[i] = a[i - 1];
    b[0] = a[n - 1];

    cout << b[0];
    for(int i = 1; i < b.size(); i++) cout << ' ' << b[i];
}

只提供思路,

img

可以建立二倍数组或者比原来长一点的,往后移动,然后控制输出