2019独角兽企业重金招聘Python工程师标准>>>

#include <stdio.h>
#include <stdlib.h>
#define MAX 20int intcmp(const void *v1, const void *v2);int main(void){int arr[MAX], count, key, *ptr;//提示用户输入一些整数 printf("Enter %d integer values; press Enter each.\n", MAX);for(count = 0; count < MAX; count++){scanf("%d", &arr[count]);}puts("Press Enter to sort the values.");getc(stdin);//将数组中的元素按升序排列qsort(arr, MAX, sizeof(arr[0]), intcmp);//显示已排列的数组元素for(count = 0; count < MAX; count++){printf("\narr[%d] = %d.", count, arr[count]);}puts("\nPress Enter to continue.");getc(stdin);//输入要查找的值printf("Enter a value to search for: ");scanf("%d", &key);//执行查找ptr = (int *)bsearch(&key, arr, MAX, sizeof(arr[0]), intcmp);if(ptr != NULL){printf("%d found at arr[%d].", key, (ptr - arr));} else {printf("%d not found.", key);}return 0;
}int intcmp(const void *v1, const void *v2){return (*(int *)v1 - *(int *)v2);
}/*用qsort()和bsearch()对字符串进行排序和查找*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 20int comp(const void *s1, const void *s2);int main(void){char *data[MAX], buf[80], *ptr, *key, **key1;int count;//输入单词或短语printf("Enter %d words or phrases, pressing Enter after each.\n", MAX);for(count = 0; count < MAX; count++){printf("Word %d: ", count + 1);gets(buf);data[count] = malloc(strlen(buf)+1);strcpy(data[count], buf);} //排列字符串(实际上是排列指针)qsort(data, MAX, sizeof(data[0]), comp);//显示已排列的字符串for(count = 0; count < MAX; count++){printf("\n%d: %s", count + 1, data[count]);}//提示用户输入待查找的单词printf("\n\nEnter a search key: ");gets(buf);// Perform the search. First, make key1 a pointer// to the pointer to the search key.key = buf;key1 = &key;ptr = bsearch(key1, data, MAX, sizeof(data[0]), comp);if(ptr != NULL){printf("%s found.\n", buf);} else {printf("%s not found.\n", buf);}return (0);
}
int comp(const void *s1, const void *s2){return (strcmp(*(char **)s1, *(char **)s2));
}

转载于:https://my.oschina.net/u/241930/blog/521930

使用qsort()和bsearch()函数对值和字符串进行排序和查找相关推荐

  1. c语言函数返回值可以是字符串吗,函数返回值可以是字符串吗

    c语言中函数返回值可以是数组.字符串和结构体吗? 因为在C语言中函数不能返回数组,但字符串是存储在字符数组中的,所以能C语言中实现函数返回字符串,首先要确定函数返回的字符串地址的来源,一般分为四种方式 ...

  2. strlen函数_7.2 C++字符串处理函数

    点击上方"C语言入门到精通",选择置顶 第一时间关注程序猿身边的故事 作者 闫小林 白天搬砖,晚上做梦.我有故事,你有酒么? C++字符串处理函数C语言和C++提供了一些字符串函数 ...

  3. 【转载】qsort 与 bsearch 的魔力

    qsort函数声明如下: void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void ...

  4. 【C语言】qsort()函数详解

    前言: 作者简介:爱吃大白菜1132 人生格言:纸上得来终觉浅,绝知此事要躬行   如果文章知识点有错误的地方不吝赐教,和大家一起学习,一起进步!   如果觉得博主文章还不错的话,希望三连支持! 目录 ...

  5. VS qsort和sort函数

    qsort函数功 能:   使用快速排序例程进行排序 头文件:stdlib.h 函数原型: void __cdecl qsort (void *base,size_t num,size_t width ...

  6. C++ 笔记(15)— 引用(声明引用、引用作为参数、引用作为函数返回值、const 用于引用)

    引用是变量的别名.也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量. 1. 创建引用 要声明引用,可使用引用运算符 & ,如下面的 ...

  7. C++ 笔记(02)— 程序结构(头文件说明、命名空间、函数返回值、函数参数、注释、语句结束符、cin/cout)

    先看以下代码 #include <iostream> #include <string> using namespace std;int main() // main() 是程 ...

  8. C指针7:指针作为函数返回值

    C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数.下面的例子定义了一个函数 strlong(),用来返回两个字符串中较长的一个: #include <stdio.h> ...

  9. 使用指针做函数返回值

    使用指针做函数返回值 1.当使用指针做为函数的返回值时,主函数处的char *p;将获得调用函数char *pf;的值,即一个地址值,如oxAE72.此时需要我们注意的是该地址值所指向的空间是否存在( ...

最新文章

  1. taro 引入js_Taro跨端开发之多业务模块管理 React Native篇(终篇)
  2. nosql介绍、memrcached介绍、安装memcached、查看memcachedq状态
  3. java flex xml_FLEX与JAVA的交互问题 -DOM4J-xml
  4. 微小宝公众号排行榜_排行榜 | 山西省高校、高职中专微信公众号周数据排行榜...
  5. MxNet 迁移学习实现深度学习分类
  6. 微软冷箭射苹果:世界需要更开放的平台
  7. 【每日一读】EMNLP2020: 面向多跳问答的分层图网络
  8. H3C BGP基本配置
  9. Mac系统必备强大软件合集
  10. 人机对弈黑白棋游戏用Python tkinter的Canvas实现图形界面
  11. html+css练手项目3
  12. 怎么提取pdf文件中的图片
  13. ADNI数据集下载方法(完全步骤)
  14. 查看详细Windows VISTA 或Windows 7激活状态
  15. 当上领导以后才明白的事情
  16. Python之win7环境下安装python3
  17. cURL 详解(附实例)
  18. 无线广播风暴问题定位分析(omnipeek工具)
  19. 2022RWCTF体验赛web的wp
  20. 全球时区(查询备用)

热门文章

  1. 关于C语言goto的使用
  2. “页面制作人员”?“页面工程师”?“页面架构师”?滚一边去!
  3. 微软推出 Power Platform 漏洞奖励计划
  4. 如何在ReactJS中使用FastReport Core Web Report
  5. 不懂得如何优化CNN图像分类模型?这有一份综合设计指南请供查阅
  6. 告别软驱,Win2K3光盘中集成Raid驱动程序
  7. 数据流图技术相关基础知识
  8. PHP关闭$_ENV后获取服务器参数的办法
  9. openwrt uci
  10. 8.exchange2013实战操作之RMS