写一个程序,从键盘上输入10个整数,并放入一个一维数组中,移动一位数组中的内容。要求:输入p值,把下标从0到p(含p)的数组元素平移到数组最后。用C语言
时间: 2023-08-31 14:32:18 浏览: 121
### 回答1:
下面是一个简单的 C 语言程序,可以从键盘上输入 10 个整数,然后将下标从 0 到 p(包括 p)的数组元素移动到数组的最后。
```c
#include <stdio.h>
int main() {
int arr[10];
int i, p, temp;
// 从键盘上输入 10 个整数
printf("请输入 10 个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 输入 p 值
printf("请输入 p 值:\n");
scanf("%d", &p);
// 移动数组元素
for (i = 0; i <= p; i++) {
temp = arr[i];
arr[i] = arr[p+i+1];
arr[p+i+1] = temp;
}
// 输出结果
printf("移动后的数组元素为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
示例输入:
```
请输入 10 个整数:
1 2 3 4 5 6 7 8 9 10
请输入 p 值:
4
```
示例输出:
```
移动后的数组元素为:
6 7 8 9 10 1 2 3 4 5
```
### 回答2:
下面是一个用C语言实现的程序,实现了从键盘上输入10个整数,并将输入的p值代表的数组元素平移到数组最后。
```c
#include <stdio.h>
int main() {
int arr[10];
int p, i, temp;
printf("请输入10个整数:\n");
for(i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
printf("请输入p值:\n");
scanf("%d", &p);
// 判断p值是否在[0, 10]范围内
if(p >= 0 && p < 10) {
// 将下标从0到p的数组元素移动到数组最后
for(i = 0; i <= p; i++) {
temp = arr[0]; //保存第一个元素的值
for(int j = 0; j < 9; j++){
arr[j] = arr[j+1]; //将后一个元素的值往前移动一位
}
arr[9] = temp; //将保存的第一个元素的值赋给最后一个元素
}
// 打印移动后的数组元素
printf("移动后的数组为:\n");
for(i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
else {
printf("p值不在有效范围内!\n");
}
return 0;
}
```
这段代码中,我们首先定义一个大小为10的整型数组`arr`,用于存储从键盘输入的10个整数。然后通过一个循环,将从键盘获取到的整数逐个存储到数组中。接着,我们从键盘输入一个整数p,表示要移动的数组元素的下标。然后,我们通过判断p的值是否在有效范围内,来决定是否进行移动操作。如果p在有效范围内,我们将数组中下标从0到p(含p)的元素移动到数组的最后。具体实现时,我们先保存第一个元素的值,然后将后一个元素的值往前移动一位,最后再将保存的第一个元素的值赋给最后一个元素。最后,我们打印移动后的数组元素,即得到了最终结果。
### 回答3:
这里是一个简单的C语言程序,用于从键盘上输入10个整数,并将它们存储在一个一维数组中。然后,根据给定的p值,将数组中下标从0到p(包括p)的元素向后移动一位,即移动到数组的最后。
```c
#include <stdio.h>
#define SIZE 10
void shiftElements(int arr[], int p) {
int temp = arr[p];
for (int i = p; i < SIZE; i++) {
arr[i] = arr[i+1];
}
arr[SIZE-1] = temp;
}
int main() {
int arr[SIZE];
int p;
printf("请输入10个整数:\n");
for (int i = 0; i < SIZE; i++) {
scanf("%d", &arr[i]);
}
printf("请输入p的值:\n");
scanf("%d", &p);
shiftElements(arr, p);
printf("移动后的数组元素为:");
for (int i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文
相关推荐









