c语言程序 输入原始数组 将数组前k个元素顺移到数组元素尾部
时间: 2023-05-30 14:02:15 浏览: 190
以下是一个示例程序,用于将数组前k个元素顺移到数组元素尾部:
```
#include <stdio.h>
void shift(int arr[], int n, int k);
int main()
{
int arr[100], n, k, i;
printf("Enter the size of array: ");
scanf("%d", &n);
printf("Enter the elements of array: ");
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
printf("Enter the value of k: ");
scanf("%d", &k);
shift(arr, n, k);
printf("Array after shifting:\n");
for (i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
void shift(int arr[], int n, int k)
{
int temp[100], i;
for (i = 0; i < k; i++)
{
temp[i] = arr[i];
}
for (i = 0; i < n-k; i++)
{
arr[i] = arr[i+k];
}
for (i = 0; i < k; i++)
{
arr[n-k+i] = temp[i];
}
}
```
该程序首先提示用户输入数组的大小和元素,然后提示用户输入要移动的元素数量k。然后,它调用一个名为shift的函数,该函数接收数组、数组大小和要移动的元素数量k作为参数。该函数首先将前k个元素存储在一个临时数组中,然后将剩余的元素向左移动k个位置。最后,它将临时数组中的元素追加到数组的末尾。程序输出移动后的数组元素。
阅读全文