写几个函数: ①输人10个职工的姓名和职工号; ②按职工号由小到大顺序排序,姓名顺序也随之调整; ③要求输人一个职工号,用折半查找法找出该职工的姓名,从主函数输人要查找的职工号,输出该职工姓名

2021-04-11 02:27

阅读:561

标签:input   can   mic   lse   loading   %s   min   有序   com   

写几个函数:①输人10个职工的姓名和职工号;②按职工号由小到大顺序排序,姓名顺序也随之调整;③要求输人一个职工号,用折半查找法找出该职工的姓名,从主函数输人要查找的职工号,输出该职工姓名。

题目解析:

利用二分查找的关键在于数据一定要先有序,所以在查找前我们需要对数据进行排序。

代码示例:

#include

#define N 10

void input(int num[], char name[N][8])
{
	int i;
	for (i = 0; i num[j])  min = j;
		templ = num[i];
		strcpy(temp2, name[i]);
		num[i] = num[min];
		strcpy(name[i], name[min]);
		num[min] = templ;
		strcpy(name[min], temp2);
	}
	printf("\n result:\n");
	for (i = 0; i num[N - 1]))
		loca = -1;
	while ((sign == 1) && (top 

运行结果:

技术图片
技术图片

写几个函数: ①输人10个职工的姓名和职工号; ②按职工号由小到大顺序排序,姓名顺序也随之调整; ③要求输人一个职工号,用折半查找法找出该职工的姓名,从主函数输人要查找的职工号,输出该职工姓名

标签:input   can   mic   lse   loading   %s   min   有序   com   

原文地址:https://www.cnblogs.com/inta/p/13362513.html


评论


亲,登录后才可以留言!