(8) 将数组前k个元素顺移到数组元素尾部,数组元素的值由键盐输入。要求输出原始数组和顺 移后的数组。用c语言表示
时间: 2023-05-25 15:02:59 浏览: 108
#include <stdio.h>
void rotate(int arr[], int n, int k);
int main() {
int n, k;
printf("请输入数组长度和要移动的元素个数:");
scanf("%d %d", &n, &k);
int arr[n];
printf("请输入%d个数组元素(用空格隔开):", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("原始数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n顺移后的数组为:\n");
rotate(arr, n, k);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
void rotate(int arr[], int n, int k) {
int tmp;
for (int i = 0; i < k; i++) {
tmp = arr[0];
for (int j = 0; j < n-1; j++) {
arr[j] = arr[j+1];
}
arr[n-1] = tmp;
}
}
阅读全文