线性查找法————使用查找键逐个与数组元素进行比较实现查找
2017-05-12 19:53
295 查看
/*******************
线性查找法————使用查找键逐个与数组元素进行比较实现查找
查找过程:利用循环顺序扫描整个数组,依次把每个元素与待查找元素比较,若找到,停止循环,输出位置
输入学号和成绩,输入学号,查找成绩
**********************/
#include <stdio.h>
#define N 40
int ReadScore(int score[],long num[]) //录取id和成绩保存到数组score[]和num[]中
{
int i = -1;
do{
i++;
printf("输入学生ID:");
scanf("%ld",&num[i]);
printf("输入%ld的成绩:",num[i]);
scanf("%d",&score[i]);
}while(num[i] > 0 && score[i] >=0 ); //输入负值时结束
return i;
}
int LinSearch(long num[],long x,int n) //查找数值为X的数组元素,找到返回下标位置,否则返回-1
{
int i;
for(i=0;i<n;i++)
{
if(num[i] == x) return(i); //找到返回下标
}
return -1; //未找到,返回-1
}
int main()
{
int score
,n,pos;
long num
,x;
n = ReadScore(score,num); //录入id和学号,并返回总人数
printf("总计人数:%d\n",n);
printf("请输入要查找的ID:");
scanf("%ld",&x); //读取要查找的学号
pos = LinSearch(num,x,n); //查找学号的函数
if(pos != -1) //判断返回值下标
{
printf("此人分数:%d\n",score[pos]); //读取下标对应的分数
}else{
printf("没有你要查找的人\n");
}
return 0;
}
线性查找法————使用查找键逐个与数组元素进行比较实现查找
查找过程:利用循环顺序扫描整个数组,依次把每个元素与待查找元素比较,若找到,停止循环,输出位置
输入学号和成绩,输入学号,查找成绩
**********************/
#include <stdio.h>
#define N 40
int ReadScore(int score[],long num[]) //录取id和成绩保存到数组score[]和num[]中
{
int i = -1;
do{
i++;
printf("输入学生ID:");
scanf("%ld",&num[i]);
printf("输入%ld的成绩:",num[i]);
scanf("%d",&score[i]);
}while(num[i] > 0 && score[i] >=0 ); //输入负值时结束
return i;
}
int LinSearch(long num[],long x,int n) //查找数值为X的数组元素,找到返回下标位置,否则返回-1
{
int i;
for(i=0;i<n;i++)
{
if(num[i] == x) return(i); //找到返回下标
}
return -1; //未找到,返回-1
}
int main()
{
int score
,n,pos;
long num
,x;
n = ReadScore(score,num); //录入id和学号,并返回总人数
printf("总计人数:%d\n",n);
printf("请输入要查找的ID:");
scanf("%ld",&x); //读取要查找的学号
pos = LinSearch(num,x,n); //查找学号的函数
if(pos != -1) //判断返回值下标
{
printf("此人分数:%d\n",score[pos]); //读取下标对应的分数
}else{
printf("没有你要查找的人\n");
}
return 0;
}
相关文章推荐
- Qt使用QTextEdit进行文本编辑实现查找高亮
- 在android 上,使用Opencv3.0实现图像无缝拼接,Fast查找特征点,BruteForce进行匹配
- 数组的创建/查找数组里面的内容/添加数组中元素/使用指定的字符串把数组链接起来/判断数组内是否有指定的数组元素/四种遍历进行输出数组中的元素有哪些
- 试编写在无头结点的单链表上实现线性表的插入操作的算法,并和带头结点的单链表上的插入操作的算法进行比较
- 使用Ado.Net进行简单事务处理的四种实现及比较
- SPCAMLEditor使用系列(3)--利用SPCamlEditor实现 时间字段跟当前时间进行实时比较计算
- 使用适配器模式实现两个类对象进行比较大小
- 使用二分法查找数据进行线性插值的方法
- 编写查找一个单链表特定元素的程序。分别使用递归和非递归方法实现,并比较它们的运行时间。
- hibernate使用LIKE进行模糊查找,并实现分页
- vs2005中使用正则表达式进行查找替换
- VS.net IDE中,使用正则表达式进行查找、替换
- 在PHP中使用正则表达式进行查找替换 推荐
- Windows 界面:具有“删除元素”和“按列进行字符比较排序”的 CListCtrol 继承类 CListCtrolEx 的实现
- 使用 IIS 进行 Microsoft ASP.NET 2.0 成员/角色管理,第 2 部分:实现
- 使用虚拟串口软件实现单机进行串口通信调试
- VS.net 中,使用正则表达式进行查找、替换
- 使用C#非递归实现查找树节点
- 使用 IIS 进行 Microsoft ASP.NET 2.0 成员/角色管理,第 2 部分:实现
- C#实现SMTP服务器,使用TCP命令实现,功能比较完善