#include<stdio.h>
void intputArray(int a[],int n)
{
int i;
scanf("%d",&n);
for()
}
void outputArray(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%6.1d",a[i]);
}
}
void reverseArray(int a[],int n)
{
int i,j,t;
for(i=0,j=n-1;i<n/2;i++,j--)
{
t=a[i];a[i]=a[j];a[j]=t;
}
for(i=0;i<n;i++)
{
printf("%6.1d",a[i]);
}
}
int main()
{
int a[20];
int n;
inputArray(a,n);
reverseArray(a,n);
return 0;
}
n的值获取放在函数外面,main函数中inputArray写错了,漏写了一个t
代码修改如下:
#include<stdio.h>
void intputArray(int a[],int n)
{
int i;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
}
void outputArray(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%6.1d",a[i]);//用%6d就可以了,为什么要用%6.1d?
}
}
void reverseArray(int a[],int n)
{
int i,j,t;
for(i=0,j=n-1;i<n/2;i++,j--)
{
t=a[i];a[i]=a[j];a[j]=t;
}
for(i=0;i<n;i++)
{
printf("%6.1d",a[i]);
}
}
int main()
{
int a[20];
int n;
while(1)
{
printf("请输入n的值(0-20):");
scanf("%d",&n);
if(n<0 || n>20)
printf("输入不合法,");
else
break;
}
intputArray(a,n);
reverseArray(a,n);
return 0;
}
intputArray函数声明多了一个t,改为inputArray