思路:这道题重点是在于你对指针数组是否有足够清晰的认知,并对指针数组的动态内存原理有一定理解

原理:1. 首先,我们需要定义一个指针数组 bookname,用来存储若干本英文书的书名。在实际的编程过程中,需要根据具体情况定义数组长度。

2. 接下来,我们需要定义排序函数,用来实现指针数组中字符串的升序排列。通常采用冒泡排序或选择排序的算法。

3. 在排序函数中,我们可以使用指针变量 temp 来记录待排序字符串的地址,使用 strcmp() 函数来比较字符串是否需要进行交换顺序。

4. 在主函数中,我们需要输入若干本英文书的书名,并通过指针将其添加到指针数组 bookname中。

5. 接下来,我们可以调用排序函数将指针数组 bookname中的字符串进行排序,使其按照字典序从小到大排列。

6. 最后,我们可以使用 for 循环逐一输出已经排好序的字符串数组 bookname,即可完成排序后输出的过程。

总的来说,使用指针数组存储若干英文书名,调用排序函数将其排序后输出的原理主要是基于指针的内存操作和字符串比较算法的运用,通过指针的排序来完成对字符串数组的排序,然后输出排好序的字符串数组。

#include <stdio.h>
#include <string.h>
void sort(char *name[], int n) // 选择排序
{int i, j, k;char *temp;for (i = 0; i < n - 1; i++){k = i;for (j = i + 1; j < n; j++){if (strcmp(name[k], name[j]) > 0){k = j;}}if (k != i){temp = name[i];name[i] = name[k];name[k] = temp;}}
}
int main()
{int i, m;char *book_name[] = {"Visual Basic", "Visual C++6.0", "C Programing", "FORTRAN", "C#"};m = sizeof(book_name) / sizeof(char *);printf("book_name:\n");for (i = 0; i < m; i++){printf("%s\n", *(book_name + i));}sort(book_name, m);printf("\n");printf("output:\n");for (i = 0; i < m; i++){printf("%s\n", *(book_name + i));}return 0;
}

C语言基础 --使用指针数组存储若干英文书名,调用排序函数将其排序后输出相关推荐

  1. c语言指针地址交换程序,C语言-基础教程-指针的地址分配

    我们可以定义指针变量指向任何类型的变量.在上述的处理过程中,指针变量指向的变量通过传递变量的地址来实现.指针变量的取值是内存的地址,这个地址应当是安全的,不可以是随意的,否则,写入内存单元的值将会使得 ...

  2. go语言基础数据结构学习---- 数组, 列表(list)和切片(slice)

    go语言基础数据结构学习–> 数组, 列表(list)和切片(slice) go 语言中的 数组是类型相同的元素的集合, 列表是双链表的容器, 可以添加不同类型的数据切片是对现有数组的引用, 比 ...

  3. C语言基础10——指针进阶。字符指针、指针数组、数组指针、函数指针、函数指针数组、回调函数、数组名详解、杨氏矩阵、字符串旋转

    目录 字符指针 指针数组 数组指针 数组传参.指针参数 函数指针 函数指针数组 指向函数指针数组的指针 回调函数 练习 数组名的意义 指针笔试题 字符指针 字符指针的另一种使用方式 #include ...

  4. Java程序设计语言基础04:数组

    目录 1. 数组基础 1.1 创建数组 1.2 使用数组 2. 数组的"名"与"实" 2.1 数组的"名" 2.2 数组的"实&q ...

  5. 【C语言】字符指针数组查找字符串

    字符串常识: 1.以'\0'结尾,用" "括起来,字符是用' '括起来 2.字符串有字符数组和字符指针两种表现形式.字符数组不一定是字符串,有'\0'结束的字符数组才是字符串,但字 ...

  6. c语言指针 查找字符串,C语言基础及指针⑥字符操作

    字符操作 , 是我们写程序时 , 最常用的一种操作 , 例如:字符串截取 , 字符串替换 , 字符串转整数类型等等 , 都是字符操作 , 在java中String类就是二三十个方法 , 还有Strin ...

  7. 翁凯c语言字符串函数,C语言基础及指针⑥字符操作

    字符操作 , 是我们写程序时 , 最常用的一种操作 , 例如:字符串截取 , 字符串替换 , 字符串转整数类型等等 , 都是字符操作 , 在java中String类就是二三十个方法 , 还有Strin ...

  8. C语言基础专题 - 指针(编写中)

    C语言基础专题 - C的灵魂没了篇 本文介绍了C语言中指针及其用法 - 由于博主水平有限,疏忽在所难免.若发现错误请告知博主更正,十分感谢. - 邮箱:291148484@163.com - 希望博文 ...

  9. C语言结构体指针数组小结

    第一次写博客,有点小激动.话不多说,进入正题. c语言最常见的几种东西:结构体,数组,指针和函数.单个定义很好理解,组合在一起就会让人头大.先说函数.数组和指针的组合. 1.函数.数组和指针的组合 包 ...

最新文章

  1. 《代码敲不队》第五次作业:项目需求分析改进与系统设计
  2. SpringMVC学习(二)——快速搭建SpringMVC开发环境(注解方式)
  3. Java黑皮书课后题第8章:*8.7(距离最近的两个点)程序清单8-3给出了找到二维空间中距离最近的两个点的程序。修改该程序,让程序能找出在三维空间上距离最近的两个点
  4. 在猜年龄的基础上编写登录、注册方法,并且把猜年龄游戏分函数处理
  5. octave中的一些基本操作
  6. 课时109.外边距合并现象(掌握)
  7. 每周进步要点(第50周12.4-12.11)
  8. java cookie 永久_java web中cookie的永久创建与撤销
  9. c# socket操作智嵌物联的网络继电器板
  10. 计算机图形学-样条曲线Spline
  11. 骨龄测试软件app_有哪些特别好用的 app 测试工具?
  12. ubuntu挂载windows分区
  13. qq 病毒 html,盗qq号软件里有病毒吗
  14. 日语动词变形(转载)
  15. 2018版本及2017版本的IntelliJ IDEA破解步骤,非lanyu,到2099年
  16. 【快速入门大数据】hadoop和它的hdfs、yarn、mapreduce
  17. 卸载wps后桌面上的office文件图标变成了白色(亲测有效)
  18. 我的Qt作品(1)高仿海康威视MVS主界面
  19. vue3表格双击事件
  20. hihoCoder#1082 : 然而沼跃鱼早就看穿了一切(做题总结)

热门文章

  1. android即时通讯研究(逐渐完善中,还很简单)
  2. COM的通信原理及ATL的通信操作 看过的一篇非常好的讲解通讯机制的文章
  3. 机械硬盘的结构和工作原理
  4. 惠普HP 光影精灵9笔记本Victus by HP 16.1英寸游戏本16-r0000(76T04AV)原装出厂Win11原厂系统
  5. 架构师之路一-架构师入门指引
  6. 有趣的数学问题(非编程题)
  7. Flutter Widgets 之 Container
  8. idea打包项目并发布到服务器上
  9. ICOFormat.8bi(Photoshop Ico、Cur插件)的下载使用——使Photoshop支持ICO图片、CUR图片格式
  10. 中国石油大学《安全行为学》第一阶段在线作业