谁能帮我改一下这个c语言程序

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:07:25
void g(int b[],int n);
{
int i,*p,j;
for(i=0;i<n-i-1;i++)
p[i]=b[n-i-1];
for(j=o;j<n-i-1;j++)
b[n-i-1]=p[i]
}
#define N 7
main()
{int a[N],i,n;
for(i=0;i<N;i++)
scanf("%d ",&a[i]);
scanf("%d",&n);
printf("Input the array:\n");
printf("output the array after change:\n");
g(n,a);
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
}

//下面这个函数由问题
//你的目的是将数组倒置吧
void g(int b[],int n);
{
int i,*p,j;
for(i=0;i<n-i-1;i++)
p[i]=b[n-i-1]; //p没有初始化,怎么有p[i]的调用?
for(j=o;j<n-i-1;j++)
b[n-i-1]=p[i]
}

改为
void g(int b[],int n);
{
int i,temp;
for(i=0;i<n/2;i++)
{//值得提的是:不用临时变量也可实现两数交换的方法
temp=b[i];
b[i]=b[n-1-i];
b[n-1-i]=temp;
}
}

其它只是输入输出,就不说了!!!