用C语言编程,有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。 输入 输入数据的个数n n个整数 移动的位置m 输出 移动后的n个数
时间: 2023-06-04 11:05:02 浏览: 126
python 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数(示例)
抱歉,我可以回答这个问题。以下是实现功能的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
void move(int arr[], int n, int m) {
int i, j, tmp;
for (i = 0; i < m; i++) {
tmp = arr[n - 1];
for (j = n - 1; j > 0; j--)
arr[j] = arr[j - 1];
arr[0] = tmp;
}
}
int main() {
int n, m, i;
printf("请输入数据个数n和移动的位置m:\n");
scanf("%d%d", &n, &m);
int *arr = (int *) malloc(n * sizeof(int));
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++)
scanf("%d", &arr[i]);
move(arr, n, m);
printf("移动后的%d个数为:\n", n);
for (i = 0; i < n; i++)
printf("%d ", arr[i]);
printf("\n");
free(arr);
return 0;
}
```
程序运行结果如下:
```
请输入数据个数n和移动的位置m:
6 2
请输入6个整数:
1 2 3 4 5 6
移动后的6个数为:
5 6 1 2 3 4
```
注意:本程序并未对输入合法性进行判断,请确保输入的数据合法,否则程序可能出错。
阅读全文