C语言题目 编写一函数,将数组a中的8个整数(3,7,11,0,6,7,4,2)按逆序存放

C语言题目
编写一函数,将数组a中的8个整数(3,7,11,0,6,7,4,2)按逆序存放(注:要求用数组名作函数的实参,用指针变量做函数的形参

程序:
/*
编写一函数,将数组a中的8个整数(3,7,11,0,6,7,4,2)按逆序存放
(注:要求用数组名作函数的实参,用指针变量做函数的形参)
*/
#include<stdio.h>

void exchange(int *a,int n)
{
int i,j,temp;
for(i=0,j=n-1;i<=j;i++,j--)
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}

void main()
{
int a[8]={3,7,11,0,6,7,4,2};
int i;

printf("逆序存放前的数组是:\n");
for(i=0;i<8;i++)
printf("%d ",a[i]);
printf("\n");

exchange(a,8);
printf("逆序存放后的数组是:\n");
for(i=0;i<8;i++)
printf("%d ",a[i]);
printf("\n");
}

运行结果:
逆序存放前的数组是:
3 7 11 0 6 7 4 2
逆序存放后的数组是:
2 4 7 6 0 11 7 3
Press any key to continue
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-06-24
分析:对于n元素数组第元素与元素交换第二与倒数第二互换依次类推交换n/2次即实现逆序存放n/2下取整
int
against(int
*p,int
n)
{
int
i
=
0;
int
tmp
=
0;
for(;i<n/2;i++)
{
tmp
=
p[i];
p[i]
=
p[n-1-i];
p[n-1-i]
=
tmp;
}
}
相似回答