一个简单C语言题目,帮忙找错!

来源:百度知道 编辑:UC知道 时间:2024/09/27 07:19:16
(1)输入10个职工的姓名和职工号!
(2)按职工号由大到小顺序排序,姓名顺序业随之改变!
(3)要求输入一个职工号,用折半查找法找出该职工的的姓名,从主函数中输入要查找的职工号!
#include"stdio.h"
#include"string.h"
void main()
{
void input(int number[],char name[][10]);
void range(int number[],char name[][10]);
int lookfor(int n,int number[]);
char name[10][10];
int number[10],n,i;
input(number,name);
range(number,name);
scanf("%d",&n);
i=lookfor(n,number);
puts(name[i]);
}
void input(int number[],char name[][10])
{
int i;
for(i=0;i<10;i++)
{
scanf("%d",&number[i]);
gets(name[i]);
}
}
void range(int number[],char name[][10])
{
int i,t,j;
char a[10]={'\0'};
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
{
t=number[i];
number[i]=number[i+1];
number[i+1]=t;
strcp

strcpy函数参数为两个指字符指针

把a[10]改成a

#include"stdio.h"
#include"string.h"
void main()
{
void input(int number[],char name[][10]);
void range(int number[],char name[][10]);
int lookfor(int n,int number[]);
char name[10][10];
int number[10],n,i;
input(number,name);
range(number,name);
scanf("%d",&n);
i=lookfor(n,number);
puts(name[i]);
}
void input(int number[],char name[][10])
{
int i;
for(i=0;i<10;i++)
{
scanf("%d",&number[i]);
gets(name[i]);
}
}
void range(int number[],char name[][10])
{
int i,t,j;
char a[10]={'\0'};
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
{
t=number[i];
number[i]=number[i+1];
number[i+1]=t;
strcpy(a[10],name[i];此处少一个右括号
strcpy(name[i],name[i+1]);改为 strcpy(&name[i],&name[i+1]);
strcpy(name[i+1],