输入n和n个整数以及一个整数m,使最后 m个数变成前面m个数
时间: 2023-12-13 21:03:14 浏览: 33
以下是一个简单的实现:
```
n = int(input("请输入整数个数:"))
nums = []
for i in range(n):
nums.append(int(input("请输入第{}个整数:".format(i+1))))
m = int(input("请输入需要移动的整数个数:"))
nums = nums[m:] + nums[:m]
print("移动后的整数序列为:", nums)
```
首先输入整数个数,然后逐个输入整数,再输入需要移动的整数个数。接下来,我们将列表中前面的m个数移到后面,即 `nums[m:] + nums[:m]`,最后输出移动后的整数序列。
相关问题
输入n和n个整数以及一个整数m,使最后m个数变成前面m个数。c
以下是一个简单的C语言实现:
```c
#include <stdio.h>
void reverse(int arr[], int start, int end) {
while (start < end) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
int main() {
int n, m;
printf("请输入n:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("请输入m:");
scanf("%d", &m);
reverse(arr, 0, m-1);
reverse(arr, m, n-1);
reverse(arr, 0, n-1);
printf("变换后的数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序首先读取输入的整数个数n和n个整数,然后读取需要变换的数目m。接着,程序通过三次反转操作,将最后m个数变为前面m个数。最后,程序输出变换后的数组。
用C语言编程输入n和n个整数,使最后m个数变成前面m个数
以下是使用 C 语言编写的代码,实现输入 n 和 n 个整数,让最后 m 个数变成前面 m 个数:
```
#include <stdio.h>
#define MAX_SIZE 100
int main()
{
int n, m, i, j, temp;
int arr[MAX_SIZE];
printf("请输入 n:");
scanf("%d", &n);
printf("请输入 %d 个整数:", n);
for (i = 0; i < n; i++)
scanf("%d", &arr[i]);
printf("请输入 m:");
scanf("%d", &m);
// 将最后 m 个数变成前面 m 个数
for (i = 0; i < m; i++)
{
temp = arr[n-m+i];
for (j = n-m+i; j > i; j--)
arr[j] = arr[j-1];
arr[i] = temp;
}
// 输出变换后的数组
printf("变换后的数组为:\n");
for (i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
```
运行程序后,输入 n 和 n 个整数,然后输入 m,程序会将最后 m 个数变成前面 m 个数,并输出变换后的数组。