如果函数main中定义了int a[N],请编写函数g,将数组a中的前n项数据逆序,并在函数main中测试。例如数组中原来的内容是{0,1,2,3,4,5,6,7,8,9},则前6向逆序后将变成{5,4,3,2,1,0,6,7,8,9}
我的程序两次都输出原始数组.最好能帮我找出程序中的错误.
#include
int a[10];
int b[10];
void main()
{
int i,j,n;
void g();
printf("please input 10 numbers:\n");
for(i=0;i<10;i++)scanf("%d",&a);
i=0;
for(j=0;j<10;j++){printf("%d ",a);
i++;}
i=0;
for(j=0;j<10;j++){b[j]=a;i++;}
printf("\nplease input the number about n:\n");
scanf("%d",&n);
g(n);
for(j=0;j<10;j++){printf("%d ",b[j]);}
printf("\n");
}
void g(int x)
{int i,b[10],j=0;
for(i=0;i<x;i++)
{b[j]=a[x-i-1];
j++;
}
}
按一楼的方法试了,不行,还是输出原数组.
|