C语言数组编写程序,输入一维数组的十个元素,将从第m个元素开始的所有元素逆置存放,然后输出逆置后的10个数
时间: 2024-12-19 12:23:01 浏览: 6
在C语言中,你可以通过以下几个步骤编写一个程序来实现这个功能:
1. 定义一个包含10个元素的一维整型数组。
2. 输入用户想要反转的起始位置`m`。
3. 使用两个指针,一个指向原数组的起始位置(即`m-1`),另一个指向数组的末尾。
4. 交换这两个指针所指向的元素,然后逐步移动指针,直到它们相遇或交叉,完成逆序过程。
5. 输出逆置后的数组。
下面是简单的示例代码:
```c
#include <stdio.h>
#define SIZE 10
void reverse_array(int arr[], int m) {
int start = m - 1;
int end = SIZE - 1;
while (start < end) {
// 交换元素
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// 移动指针
start++;
end--;
}
}
int main() {
int arr[SIZE];
printf("请输入10个元素:");
for (int i = 0; i < SIZE; i++) {
scanf("%d", &arr[i]);
}
int m;
printf("请输入需要从第几个元素开始逆序(1-%d):", SIZE);
scanf("%d", &m);
// 检查输入是否合法
if (m <= 0 || m > SIZE) {
printf("无效输入,请重新输入。\n");
return 1;
}
reverse_array(arr, m - 1); // 函数调用并传递逆序起点
printf("逆置后的数组:");
for (int i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文