求助一个C程序!
下面的程序不能正确运行!那位大哥给看看!(将两个数组按顺序插在一起!)
#include <stdio.h>
#define N 10
void main()
{
void insert(int p[],int num);
int arrA[N]={4,7,11,21,33};
int arrB[N/2]={2,5,8,19,32};
int k;
printf( "\n array A:\n ");
for(k=0;k <=N/2-1;k++)
printf( "%4d ",arrA[k]);
printf( "\narray B:\n ");
for(k=0;k <=N/2-1;k++)
printf( "%4d ",arrB[k]);
for(k=0;k <=N/2-1;k++)
insert(arrA,arrB[k]);
printf( "\nNow,array A:\n ");
for(k=0;k <=N-1;k++)
printf( "%4d ",arrA[k]);
printf( "\n ");
}
void insert(int p[],int num)
{
int ind=N/2;
int i,j;
if(num> =p[ind-1])
{
p[ind]=num;
ind++;
}
else
{
for(i=0;i <=N-1;i++)
if(num <=p[i])
{
for(j=N-1;j> =i;j--)
p[j+1]=p[j];
p[i]=num;
ind++;break;
}
}
}
[解决办法]
void insert(int p[],int num)
{
int ind=N/2;
}
改为
int ind=N/2;
void insert(int p[],int num)
{
}
[解决办法]
#include <stdio.h>
#define N 10
void main()
{
void insert(int p[],int num);
int arrA[N]={4,7,11,21,33};
int arrB[N/2]={2,5,8,19,32};
int k;
printf( "\n array A:\n ");
for(k=0;k <=N/2-1;k++)
printf( "%4d ",arrA[k]);
printf( "\narray B:\n ");
for(k=0;k <=N/2-1;k++)
printf( "%4d ",arrB[k]);
for(k=0;k <=N/2-1;k++)
insert(arrA,arrB[k]);
printf( "\nNow,array A:\n ");
for(k=0;k <=N-1;k++)
printf( "%4d ",arrA[k]);
printf( "\n ");
}
void insert(int p[],int num)
{
//int ind=N/2;
int i,j;
int ind = 0;
while( p[ind] != 0 )
ind++;
if(num> =p[ind-1])
{
p[ind]=num;
//ind++;
}
else
{
for(i=0;i <=N-1;i++)
if(num <=p[i])
{
for(j=N-1;j> =i;j--)
p[j+1]=p[j];
p[i]=num;
//ind++;
break;
}
}
}