功能:编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出。 例如:原来的顺序为8,6,5,4,1。要求改为:1,4,5,6,8。 请补充下列程序,使其输出正确结果。 #include <stdio.h> #define N 5 void fun(int arr[],int n) { /**********Program**********/ /********** End **********/ } int main() { int a[N]={8,6,5,4,1},i; for(i=0;i<N;i++) printf("%4d",a[i]); printf("\n"); fun(a,N); for(i=0;i<N;i++) printf("%4d",a[i]); }
时间: 2023-07-23 08:46:33 浏览: 137
#include <stdio.h>
#define N 5
void fun(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;
}
}
int main() {
int a[N]={8,6,5,4,1},i;
for(i=0;i<N;i++)
printf("%4d",a[i]); // 输出原数组
printf("\n");
fun(a,N); // 调用函数,将数组倒序
for(i=0;i<N;i++)
printf("%4d",a[i]); // 输出倒序后的数组
}
相关问题
//功能:编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出。 例如:原来的顺序为8,6,5,4,1。要求改为:1,4,5,6,8。 请补充下列程序,使其输出正确结果。
下面是代码实现:
```c
#include <stdio.h>
void fun(int arr[], int n){
int i, j;
int temp;
for (i = 0, j = n - 1; i < j; i++, j--) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int main(){
int arr[] = {8, 6, 5, 4, 1};
int n = sizeof(arr) / sizeof(arr[0]);
fun(arr, n);
for (int i = 0; i < n; i++){
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
1 4 5 6 8
```
在`fun`函数中,我们使用两个指针`i`和`j`分别指向数组的头尾,然后交换它们所指向的元素即可。最后在`main`函数中输出反转后的数组。
:编写 fun 函数将一个数组中的值按逆序存放,并在 main 函数中输出。用c语言的函数调用
在C语言中,你可以创建一个名为`reverse_array`的函数来实现这个功能,该函数接受一个整型数组、数组的长度以及指向数组首元素的指针作为参数。以下是实现这一功能的示例:
```c
#include <stdio.h>
// 定义函数,接收数组、数组长度和指针
void reverse_array(int* arr, int length) {
int start = 0;
int end = length - 1; // 从两端开始交换
while (start < end) {
// 交换当前位置和结束位置的值
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// 移动指针到下一个元素
start++;
end--;
}
}
int main() {
int my_array[] = {1, 2, 3, 4, 5};
int array_length = sizeof(my_array) / sizeof(my_array[0]);
// 反转数组
reverse_array(my_array, array_length);
// 输出反转后的数组
for (int i = 0; i < array_length; i++) {
printf("%d ", my_array[i]);
}
// 结束程序并换行
printf("\n");
return 0;
}
```
在这个例子中,`main`函数首先初始化了一个整数数组`my_array`,然后调用`reverse_array`函数来逆序数组。最后通过循环遍历数组并打印出结果。
阅读全文
相关推荐















