Description
編寫程序,將一維數組A(下標從1開始)中的元素循環右移k位,要求只用一個元素大小的附加存儲。
Input
第一行輸入一維數組A的長度n和循環位移位數k(0<n<100;0<k<100),用空格分開。
第二行輸入n個元素。
Output
輸出循環右移k位後的一維數組。
- Sample Input
6 3 1 2 3 4 5 6
- Sample Output
4 5 6 1 2 3
#include<stdio.h>
int main(){
int n, k, i, tmp;
scanf("%d%d", &n, &k);
int arr[100];
for(i = 0; i < n; i++){
scanf("%d", &arr[i]);
}
while(k--){
tmp = arr[n-1];
for(i = n-1; i > 0; i--){
arr[i] = arr[i-1];
}
arr[0] = tmp;
}
for(i = 0; i < n; i++){
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}