函数的功能是把a数组的n个数和b数组的逆序n个数一一对应相加,结果存在c数组中。请大神帮忙看下我错误

2025-06-28 07:59:38
推荐回答(3个)
回答1:

原来的程序写得太过复杂了:

#include

#define n 5

void wei(int *x,int *y,int *z)

{int i;

for(i=0;i

z[i]=*(x+i)+*(y+n-1-i);

}

main()

{int a[n]={1,2,3,4,5},b[n]={10,20,30,40,50},c[n];

int i;

wei(a,b,c);

for(i=0;i

printf("%d ",c[i]);

}

回答2:

#include
#define N 5

void wei(int *a,int *b, int *c )
{
int i;

for( i = 0;i < N; i++ )
c[i] = a[i] + b[N -i-1];

return;
}

void main()
{
int a[N], b[N], c[N];
int i;

for( i = 0; i < N; i++ )
scanf( "%d%d", &a[i], &b[i] );

wei( a, b, c );

for( i = 0; i < N; i++ )
printf( "%d\t", c[i] );
printf( "\n" );

return;
}

回答3:

没有返回数组这个说法!

#include 
#define n 5
void wei(int *a,int *b,int *c)
{
int i;

for(i=0;i {
c[i]=a[i]+b[n-i-1];
}
return;
}
void main()
{
int a[n],b[n],c[n];
int i;
for(i=0;i {
scanf("%d",&a[i]);
scanf("%d",&b[i]);
}
wei(a,b,c);
for(i=0;i printf("%d ",c[i]);
}