解题思路:
注意事项:构造一个新数组来做“中转站”
参考代码:
#include<stdio.h> void backLetter(int a[],int n,int m) { int b[n]; //b[n]数组保存a[n]的元素 for(int i=0;i<n;i++) { b[i]=a[i]; //把前n-m个数据向后移动m个位置 } for(int i=0;i<n-m;i++) { a[i+m]=b[i]; } for(int i=0;i<m;i++) //把最后m个数据移动到前m个 { a[i]=b[n-m+i]; } } int main() { int n,m; scanf("%d",&n); int a[n]; for(int i=0;i<n;i++) { scanf("%d",&a[i]); } scanf("%d",&m); backLetter(a,n,m); for(int i=0;i<n;i++) { printf("%d ",a[i]); } return 0; }
0.0分
0 人评分