#include<iostream>
using namespace std;
int main(){
int N,M,a[100];
cin>>N>>M;
for(int i=0;i<N;i++){
cin>>a[i];
}
for(int i=N-M;i<N;i++){
cout<<a[i]<<" ";
}
for(int i=0;i<N-M;i++){
cout<<a[i]<<" ";
}
return 0;
}
执行是可以出结果的,但是为什么pta上会出现这样的情况呢?
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
int a[110];
for(int i=1;i<=n;i++) cin>>a[i];
int end=n-m;
int p;
for(int i=1-m;i<=end;i++)
{
p=i%n;
if(p<=0) p+=n;
cout<<a[p]<<" ";
}
return 0;
}
模拟循环队列,然后伪换置