c++问题,编写程序,将一维数组中的元素向右循环移动N次。

题目描述
编写程序,将一维数组中的元素向右循环移动N次。

输入格式
第一行整数n,表示数组大小为n

第二行,n个数,表示数组中的n个元素。

第三行,整数N,表示数组向右移动N次。

输出格式
移动后的数组元素,每个元素后跟空格。

样例输入
5
1 2 3 4 5
2
样例输出
4 5 1 2 3


#include <stdio.h>
#include<iostream>
#include <string.h>

int main()
{
    int n,N;
    int b[1024], c[1024];
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &b[i]);
    }
    scanf("%d", &N);
    for (int i = 0; i < n; i++)
    {
        c[i] = b[(i + n - N)%n];
        printf("%d ",c[i]);
    }
    return 0;
}