习题 7.15 写几个函数:1.输入10个职工的姓名和职工号;2.按职工号由小到大顺序排序,姓名顺序也随之调整;。。。
来源:互联网 发布:乐清知临学校叶建新 编辑:程序博客网 时间:2024/04/28 06:09
C程序设计(第四版) 谭浩强 习题7.15 个人设计
习题 7.15 写几个函数:
1. 输入10个职工的姓名和职工号;
2. 按职工号由小到大顺序排序,姓名顺序也随之调整;
3. 要求输入一个职工号,用折半查找法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。
代码块:
#include <stdio.h>#include <string.h>void input (char na[][20], int nu[]);void sorts (char na[][20], int nu[]);void search (char na[][20], int nu[], int x);main(){ char name[10][20]; int num[10], numb, i; input (name, num); sorts (name, num); for (i = 0; i < 10; i++){ printf("%8s ", name[i]); printf("%d\n", num[i]); } printf("Input your number:"); scanf("%d", &numb); search(name, num, numb); return 0;}void input (char na[][20], int nu[]){ int i; for (i = 0; i < 10; i++){ printf("Input No.%d name:", i+1); scanf("%s", na[i]); printf("Input No.%d number:", i+1); scanf("%d", &nu[i]); }}void sorts (char na[][20], int nu[]){ int i, j, temp; char tm[20]; for (i = 0; i < 10; i++) for (j = i+1; j < 10; j++){ if (nu[i] > nu[j]){ temp = nu[i]; nu[i] = nu[j]; nu[j] = temp; strcpy(tm, na[i]); strcpy(na[i], na[j]); strcpy(na[j], tm); } }}void search (char na[][20], int nu[], int x){ int low, high, mid; low = 0; high = 9; while (low <= high){ mid = (low + high) / 2; if (x > nu[mid]) low = mid + 1; else if (x < nu[mid]) high = mid - 1; else if (x == nu[mid]){ printf("%s\n", na[mid]); break; } } if (x != nu[mid]) printf("No match!\n");}
阅读全文
1 0
- 习题 7.15 写几个函数:1.输入10个职工的姓名和职工号;2.按职工号由小到大顺序排序,姓名顺序也随之调整;。。。
- ⑴输入10个职工的姓名和职工号;⑵按职工号由小到大排序,姓名顺序也随之调整;⑶要求输入一个职工号,查找法找出该职工的姓名。从主函数输入要查找的职工号,输出该职工姓名
- 输入10个职工姓名和职工号;按职工号从小到大排序并调整姓名顺序;输入工号查询姓名。
- 输入10个职工的姓名和职工号,排序
- 由职工号、姓名排序查找问题
- C++编程题-职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来
- 职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来
- 编写一个程序,定义一个职工类,输入3个职工的编号、姓名、工资和年龄, 类中的成员函数实现输入、输出,在主函数中定义对象,并计算输出3个职工的平均工资。
- 输入5个职工的职工号,基本工资,浮动工资和奖金,统计并输出最高的职工的职工号和总工资
- 定义职工类Employee对象数组,内放5个职工的数据(编号、姓名、性别、月薪),建立函数输出职工信息表。
- 职工
- 实验题 用类建立职工工资管理数据库,计算总工资并排序输出 统计并输出总工资最高的职工姓名和工资
- 职工也有工资
- p219 职工排序和折半查找
- 输入n(n<46)个学生的姓名和成绩,顺序输出这n个学生的姓名和成绩,并输出最高成绩的姓名和成绩。
- 最小年龄的3个职工
- 1187 最小年龄的3个职工
- 输入5个学生的姓名和成绩,顺序输出这五个学生的姓名和成绩,并输出最高成绩的姓名和成绩
- 元素的全排列问题
- 冒泡排序及优化
- 三次握手、四次挥手
- Python查找文本频率最高的单词
- Java三大主流开源工作流引擎技术分析
- 习题 7.15 写几个函数:1.输入10个职工的姓名和职工号;2.按职工号由小到大顺序排序,姓名顺序也随之调整;。。。
- 动态规划 数塔问题
- HDU-2709-Sumsets
- 【OI之路】05计算机内部知识-2操作符和优先级
- vnc实现Windows远程连接Linux界面
- TREX470LM装机调试篇(一)
- 温度转换
- 【OI之路】05计算机内部知识-3可变参数
- 【OI之路】05计算机内部知识-4数据类型的对照