输入10个整数,将该数组中的元素后移m位,移出的m位顺序存放在数组的前m位。 输入只有一组数据,占一行,第一个数为位移量m,后面为10个整数,中间以空格区分。 针对输入的数据,输出的数据单独占一行,每个数据后面都有一个空格
时间: 2023-12-22 22:06:19 浏览: 84
好的,以下是实现这个功能的 C 语言代码示例:
```c
#include <stdio.h>
void move(int arr[], int n, int m) {
int temp[m]; // 用于存放移出的 m 个元素
for (int i = 0; i < m; i++) {
temp[i] = arr[n - m + i]; // 将后 m 个元素存放到 temp 数组中
}
for (int i = n - 1; i >= m; i--) {
arr[i] = arr[i - m]; // 将前 n-m 个元素后移 m 位
}
for (int i = 0; i < m; i++) {
arr[i] = temp[i]; // 将移出的 m 个元素放在数组前 m 位
}
}
int main() {
int arr[10];
int m;
scanf("%d", &m); // 输入位移量 m
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]); // 输入数组元素
}
move(arr, 10, m);
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]); // 输出数组元素
}
return 0;
}
```
在上面的代码中,首先使用 `scanf` 输入位移量 `m` 和数组元素,然后调用 `move` 函数实现后移操作。最后使用 `printf` 输出移动后的数组元素即可。注意,每个输出的数字后面都有一个空格。
阅读全文