我这里是哪里出了问题,总是程序终止
#include<stdio.h>#include<string.h>
int main()
{
void input(int num[],char name[][100]);
void paixu(int num[],char name[][100]);
void chazhao(int num[],char name[][100],int x);
int a[10],x;
char b[10][100];
input(a,b);
paixu(a,b);
printf("输入职工号");
scanf("%d",&x);
chazhao(a,b,x);
return 0;
}
void input(int num[],char name[][100])
{
int i;
for(i=0;i<10;i++)
{
printf("职工工号:");
scanf("%d,",num[i]);
printf("职工名字:");
getchar();
gets(name[i]);
}
}
void paixu(int num[],char name[][100])
{
int i,j,t;
char p[9][100];
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
{
if(num[i]>num[i+1])
{
t=num[i];num[i]=num[i+1];num[i+1]=t;
strcpy(p[i],name[i]);strcpy(name[i],name[i+1]);strcpy(name[i+1],p[i]);
}
}
for(i=0;i<10;i++)
{
printf("号码:%d,名字:%s\n",num[i],name[i]);
}
}
void chazhao(int num[],char name[][100],int x)
{
int top,low,q,z=1,b=1,ban;
char w;
while(low<=top)
{
low=0;
top=9;
ban=(low+top)/2;
if(q==num[ban])
{
printf("%d,%s",num[ban],name[ban]);
break;
}
else if(q<num[ban])
{
top=ban-1;
}
else if(q>num[ban])
{
low=ban+1;
}
}
if(x!=num[ban])
printf("无");
}