c语言,输入工号,和姓名,然后线性查找,输入查找工号,输出姓名
答案:1 信息版本:手机版
解决时间 2019-10-04 09:59
已解决
2019-10-04 04:26
#include"stdio.h"
#define N 10
#define Three 5
int ReadName(char name[][Three],long num[]);
int LinSearch(long num[],long x,int n);
int main()
{
char name[N][Three];
int n,pos;
long num[N],x;
n=ReadName(name,num);
printf("Total teachers are %d\n",n);
printf("Input the searching ID");
scanf("%d",&x);
pos=LinSearch(num,x,n);
if(pos!=-1)
printf("name = %s\n",name[pos]);
else
printf("Not found!\n");
return 0;
}
int ReadName(char name[][Three],long num[])
{
int i=-1;
do{
i++;
printf("Input teacher's ID and name:");
scanf("%d %s",num,name);
}while (num[i]>0);
return i;
}
int LinSearch(long num[],long x,int n)
{
int i;
for (i=0;i{
if(num[i]==x)
return i;
}
return -1;
}
输入之后可运行,但程序运行时却只能输入一个工号和姓名,就结束了
最佳答案
2019-10-04 05:19
#include"stdio.h"
#define N 10
#define Three 5
int ReadName(char name[][Three],long num[]);
int LinSearch(long num[],long x,int n);
int main()
{
char name[N][Three];
int n,pos;
long num[N],x;
n=ReadName(name,num);
printf("Total teachers are %d\n",n);
printf("Input the searching ID");
scanf("%d",&x);
pos=LinSearch(num,x,n);
if(pos!=-1)
printf("name = %s\n",name[pos]);
else
printf("Not found!\n");
return 0;
}
int ReadName(char name[][Three],long num[])
{
int i=-1;
do{
i++;
printf("Input teacher's ID and name:");
scanf("%d %s",num+i,name[i]);//参数错误.
}while (num[i]>0);
return i;
}
int LinSearch(long num[],long x,int n)
{
int i;
for (i=0;i
{
if(num[i]==x)
return i;
}
return -1;
}
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
大家都在看
推荐资讯