试题题干
将一维数组逆序存放后输出。例如int a[3]={1,2,3},逆序存放后int a[3]={3,2,1}。
include<stdio.h>
void move(int*p,int n);
void main()
{
int i,n=6,a[6]={1,2,3,4,5,6};
move(a,5);
for(i=0;i<n;i++) printf("%5d",______);/*第一空*/
}
void move(int*p,int n)
{
______; /*第二空*/
for(k=0;k<=n/2;k++)
{c=p[k];p[k]=p[n-k];______;} /*第三空*/
}
参考答案
试题解析
第一空是要输出数组,一维数组为a[6],即第一空应填入a[i];
在函数move(int*p,int n)中出现c和k,需要先定义再引用,故第二空填入int c,k;
因为要逆序输出,所以两数据要进行比较,若前小后大则交换,即第三空应填入p[n-k]=c