编写c语言程序 输入原始数组 将数组前k个元素顺移到数组元素尾部 不使用函数方式
时间: 2023-05-30 11:02:17 浏览: 60
```c
#include <stdio.h>
int main() {
int n, k;
printf("请输入数组长度n和要移动的元素个数k:\n");
scanf("%d%d", &n, &k);
int arr[n];
printf("请输入原始数组:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 将前k个元素顺移到数组尾部
for (int i = 0; i < k; i++) {
int temp = arr[0];
for (int j = 0; j < n - 1; j++) {
arr[j] = arr[j + 1];
}
arr[n - 1] = temp;
}
// 输出移动后的数组
printf("移动后的数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
相关问题
c语言程序 输入原始数组 将数组前k个元素顺移到数组元素尾部
以下是一个示例程序,用于将数组前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个位置。最后,它将临时数组中的元素追加到数组的末尾。程序输出移动后的数组元素。
编写c语言程序 将数组前k个元素顺移到数组元素尾部,数组元素的值由键盘输入。要求输出原始数组和顺移后的数组。
以下是一个简单的 C 语言程序,可以将数组前 k 个元素顺移至数组元素尾部,并输出原始数组和顺移后的数组:
```c
#include <stdio.h>
int main() {
int n, k, i, j, temp;
printf("请输入数组长度 n 和需要顺移的元素个数 k:\n");
scanf("%d %d", &n, &k);
int arr[n];
printf("请输入数组元素:\n");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("原始数组:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
for (i = 0; i < k; i++) {
temp = arr[0];
for (j = 0; j < n - 1; j++) {
arr[j] = arr[j + 1];
}
arr[n - 1] = temp;
}
printf("顺移后的数组:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
对于输入数组长度 n 和需要顺移的元素个数 k,程序会先创建一个长度为 n 的数组,然后通过循环读取键盘输入的数组元素。接着,程序会输出原始数组,并使用两层循环将前 k 个元素顺移至数组元素尾部。最后,程序会输出顺移后的数组。