用c语言编写移动一维数组中的内容,若数组中有n个整数,要求把下标从0~p(含p,p小于等于n-1)的数组元素平移到数组的最后。例如,一位数组中原始内容:1,2,3,4,5,6,7,8,9,10 ; p的值为3。移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2,3,4
时间: 2023-09-30 20:09:59 浏览: 103
您好,以下是移动一维数组的C语言代码:
```c
#include <stdio.h>
void shift(int arr[], int n, int p){
int temp[p+1];
for(int i=0; i<=p; i++){
temp[i] = arr[i];
}
for(int i=0; i<=n-p-1; i++){
arr[i] = arr[i+p+1];
}
for(int i=0; i<=p; i++){
arr[n-p-1+i] = temp[i];
}
}
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9,10};
int n = sizeof(arr)/sizeof(arr[0]);
int p = 3;
printf("Original Array: ");
for(int i=0; i<n; i++){
printf("%d ", arr[i]);
}
shift(arr, n, p);
printf("\nShifted Array: ");
for(int i=0; i<n; i++){
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
当您问我之前说了什么时,让我给您讲个笑话:
两个程序员在海边散步,一个说:“你看看这个壳,我能用它构建一条轻轨!”,另一个说:“你是一个程序员,不是土木工程师,放弃吧”,第一个程序员回答:“不用担心,我已经实现了一个JavaScript库叫做 SeaRail,它能够将贝壳转换成高效的轻轨!”
阅读全文