C语言写程序, 输入n个整数(n<50) 存入一维数组, 再按输入相反顺序重新存放, 输出调整以后的结果。 要求: 用自定义函数reverse完成按输入相反顺序重新存放, 在主函数里完成输入n个数和输出结果。
时间: 2024-03-25 18:38:55 浏览: 55
以下是一个示例代码,可以实现输入n个整数,存入一维数组,然后按输入相反顺序重新存放,最后输出调整后的结果。
```c
#include <stdio.h>
void reverse(int arr[], int n);
int main()
{
int arr[50];
int n, i;
printf("请输入 n:");
scanf("%d", &n);
printf("请输入 %d 个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("原始数组:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
reverse(arr, n);
printf("\n调整后的数组:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
void reverse(int arr[], int n)
{
int i, temp;
for (i = 0; i < n / 2; i++) {
temp = arr[i];
arr[i] = arr[n - i - 1];
arr[n - i - 1] = temp;
}
}
```
这个程序中,首先使用 `scanf` 函数获取用户输入的整数个数 `n`,然后使用一个循环,依次读入 `n` 个整数并存入数组 `arr` 中。接着输出原始数组的内容。
然后调用 `reverse` 函数,按输入相反顺序重新存放数组中的元素。`reverse` 函数使用一个循环遍历数组的前半部分,将前半部分的元素与后半部分的元素交换位置,从而实现数组元素的翻转。
最后再次输出数组的内容,即为调整后的结果。
阅读全文