解题思路:
先交换m以后的数,再交换m以前的数。
注意事项:
开始我把b[i-m]写成了b[i-2],搞出了个答案错误50,所以请大家注意~
参考代码:
#include<bits/stdc++.h> using namespace std; void deal(int a[],int m,int n) { int b[1000],j=1; for(int i=1;i<=n;i++)b[i]=a[i]; for(int i=m+1;i<=n;i++) { a[i]=b[i-m]; } for(int i=n-m;i<=n;i++) { a[j-1]=b[i]; j++; } for(int i=1;i<=n;i++) cout<<a[i]<<" "; } int main() { int n,a[1000],m; cin>>n; for(int i=0;i<1000;i++) a[i]=0; for(int i=1;i<=n;i++) { cin>>a[i]; } cin>>m; deal(a,m,n); return 0; }
//点完赞再走啊!!!
0.0分
2 人评分